<?php

declare(strict_types=1);

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

use ImovelZapAi\Publishing\Connectors\GroupOlx\Application\Data\GroupOlxPublicFeedData;

/**
 * Disponibiliza e resolve a URL pública do feed para importação pelo Grupo OLX.
 */
interface GroupOlxPublicFeedInterface
{
    /**
     * Persiste o XML validado e retorna a URL pública importável.
     */
    public function publish(string $tenantId, string $xml, ?int $listingCount = null): GroupOlxPublicFeedData;

    /**
     * Resolve a URL pública já existente (sem regenerar).
     */
    public function resolveUrl(string $tenantId): string;

    public function isAvailable(string $tenantId): bool;
}
