<?php

declare(strict_types=1);

namespace App\Administration\Application\Port;

/**
 * Port pour le stockage des logos d'établissement.
 */
interface LogoStorage
{
    /**
     * Stocke un logo et retourne son URL publique.
     *
     * @param string $content     Contenu binaire du fichier
     * @param string $key         Clé de stockage (chemin)
     * @param string $contentType Type MIME du fichier
     *
     * @return string URL publique du fichier stocké
     */
    public function store(string $content, string $key, string $contentType): string;

    /**
     * Supprime un fichier du stockage.
     */
    public function delete(string $key): void;
}
