<?php

namespace AutoAdmin\Bundle\Content\Model;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;

/**
 * Interface TranslatableInterface
 *
 * @package AutoAdmin\Bundle\Content\Model
 * @method _tr(): ?TranslationInterface
 */
interface TranslatableInterface extends UnstranslatedInterface
{
    /**
     * @return ArrayCollection<TranslationInterface>
     */
    public function getTranslations(?string $locale): Collection;

    public function addTranslation(TranslationInterface $translation): void;

    public function removeTranslation(TranslationInterface $translation): void;

    public function setCurrentTranslation(TranslationInterface $translation): void;

    public function getCurrentTranslation(): ?TranslationInterface;
}
