<?php

namespace Entity;

use Helpers\QueryBuilder\QueryBuilder;

/* Interface créé pour PHPSTAN  */
interface Entity
{
    /**
     * @return string
     */
    public function getLibelle();
    /**
     * @return string
     */
    public function getPrimaryKey();
    /**
     * @return string
     */
    public function getNameTable();

    /**
     * @param mixed $id
     * @param array<string> $selectTables
     * @param array<mixed> $post
     * @param mixed $option
     * @return array<mixed>|null
     */
    public function find($id, array $selectTables = [], $post = [], $option = null);

    /**
     * @param mixed $id
     * @param array<string> $selectTables
     * @return array<mixed>|null
     */
    public function findAllSearch($id, array $selectTables = []);
}
