<?php

namespace App\Repository\Link;

use App\Entity\Link;

interface LinkRepositoryInterface
{
    /**
     * @param int $id
     *
     * @return Link
     */
    public function findById(int $id): ?Link;

    /**
     * @param Link $link
     */
    public function save(Link $link): void;

    /**
     * @param Link $link
     */
    public function delete(Link $link): void;

    /**
     * Finds entities by a set of criteria.
     *
     * @param array      $criteria
     * @param array|null $orderBy
     * @param int|null   $limit
     * @param int|null   $offset
     *
     * @return array the objects
     */
    public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null);

    public function getFirstCreatedAt(): ?string;
}
