<?php

namespace Modules\Connexion\MiddlewareConnexion;

use GuzzleHttp\Psr7\Response;
use Helpers\Trad\ITrad;
use Skeleton\Renderer\RendererInterface;
use Psr\Container\ContainerInterface;

interface InterfaceConnexion
{
    /**
     * @param array<mixed> $post
     */
    public function authentification(array $post = []):void;
    public function getTypeConnexion():string;
    public function getLogin():string|null;
    public function getPassword():string|null;
    public function getLangue():string|null;

    /**
     * @return array<mixed>
     */
    public function getError():array;
    public function authenSucess():bool;

    /**
     * Summary of renderer
     * @return Response|null
     */
    public function renderer(RendererInterface $renderer);

    /**
     * @param array<mixed> $post
     */
    public function getMetada($post):mixed;
}
