<?php

declare(strict_types=1);

namespace App\Framework\Filesystem;

/**
 * Interface für Daten-Serializer
 */
interface Serializer
{
    /**
     * Serialisiert Daten zu String
     */
    public function serialize(mixed $data): string;

    /**
     * Deserialisiert String zu Daten
     */
    public function deserialize(string $data): mixed;

    /**
     * Gibt den MIME-Type für serialisierte Daten zurück
     */
    public function getMimeType(): string;

    /**
     * Gibt die Standard-Dateiendung zurück
     */
    public function getFileExtension(): string;
}
