<?php

declare(strict_types=1);

namespace ImovelZapAi\Importing\Application\Ports;

use App\Models\User;
use ImovelZapAi\Importing\Application\Data\ImportWriteResult;
use ImovelZapAi\Importing\Application\Data\ParsedProperty;

interface PropertyImportWriterInterface
{
    /**
     * @param  array<string, mixed>  $mapping
     */
    public function write(
        string $tenantId,
        User $actor,
        ParsedProperty $property,
        array $mapping,
        string $source,
    ): ImportWriteResult;
}
