<?php

declare(strict_types=1);

namespace ImovelZapAi\Publishing\Connectors\GroupOlx\Application\Ports;

use ImovelZapAi\Publishing\Connectors\GroupOlx\Application\Data\GroupOlxFeedBuildResultData;
use ImovelZapAi\Publishing\Domain\Canonical\NormalizedListing;

/**
 * Constrói o feed VRSync a partir do modelo canônico.
 *
 * Nunca recebe Property — apenas NormalizedListing.
 */
interface GroupOlxFeedBuilderInterface
{
    /**
     * @param  list<NormalizedListing>  $listings
     */
    public function build(array $listings): GroupOlxFeedBuildResultData;

    public function buildFromListing(NormalizedListing $listing): GroupOlxFeedBuildResultData;
}
