<?php

declare(strict_types=1);

namespace App\Service\File\Storage;

use App\Entity\Core\File;
use App\Enum\Core\FileSizeEnum;

interface FileStorageInterface
{
    public function exists(File $file): bool;

    public function read(File $file): string;

    // TODO: remplacer `string $size` par `FileSizeEnum $size`
    public function getImageUrl(File $file, string $size, bool $relativePath, bool $uncropped = false): string;

    public function support(File $file): bool;

    public function deleteOrganizationFiles(int $organizationId): void;

    public function deletePersonFiles(int $personId): void;
}
