<?php

namespace Lc\SovBundle\Model\File;

use Lc\SovBundle\Model\User\UserInterface;

interface FileInterface
{
    public function getCreatedBy(): ?UserInterface;

    public function setCreatedBy(?UserInterface $createdBy): FileInterface;

    public function getUpdatedBy(): ?UserInterface;

    public function setUpdatedBy(?UserInterface $updatedBy): FileInterface;

    public function getDevAlias(): ?string;

    public function setDevAlias(?string $devAlias): FileInterface;

    public function getPath(): ?string;

    public function setPath(?string $path): FileInterface;

    public function getLegend(): ?string;

    public function setLegend(?string $legend): FileInterface;

    /**
     * @return float
     */
    public function getPosition(): float;

    /**
     * @param float $position
     * @return $this
     */
    public function setPosition(float $position): FileInterface;

    public function clearPosition(): FileInterface;

    public function getCreatedAt(): ?\DateTimeInterface;

    public function setCreatedAt(\DateTimeInterface $createdAt): FileInterface;

    public function getUpdatedAt(): ?\DateTimeInterface;

    public function setUpdatedAt(\DateTimeInterface $updatedAt): FileInterface;

    public function setTranslatableLocale($locale);

    public function getLocalesEnabled(): ?array;

    public function setLocalesEnabled(?array $localesEnabled): FileInterface;
}