<?php

namespace Symfony\Component\Serializer\Normalizer;

interface DenormalizerInterface
{
    /**
     * @template TObject of object
     * @template TType of string|class-string<TObject>
     *
     * @psalm-param TType $type
     * @psalm-return (TType is class-string<TObject> ? TObject : mixed)
     */
    public function denormalize(mixed $data, string $type, string $format = null, array $context = []);
}
