import { LogonData, LoginOutput } from "./connectionTypes";
import { HttpClientResponse } from "../shared/httpClient/httpClient";
import { RequestOptions } from "../shared/httpClient/httpClient";
export declare enum SessionTypes {
    stateful = "stateful",
    stateless = "stateless",
    keep = ""
}
export default class ConnectionRepository {
    private logonData;
    private commonHeaders;
    private httpClient;
    private exceptionManager;
    private csrfToken;
    private cookiesAuth;
    constructor(logonData: LogonData);
    /**
     * Realiza la llama a la URL con las opcionesde llamada
     * @param url | URL del servicio
     * @param options | Opciones de la llamada
     */
    request(url: string, options?: RequestOptions): Promise<HttpClientResponse>;
    /**
     * Login al ADT
     */
    login(): Promise<LoginOutput>;
    /**
     * Obtiene el CSRF Token necesario para las llamadas de actualización
     */
    getCSRFToken(): Promise<void>;
    /**
     * Logout de la conexión
     */
    logout(): Promise<void>;
    /**
     * ¿hay CSRF Token?
     */
    is_csrfToken(): boolean;
    /**
     * Saca las cookies de autorización de la respuesta cuando se hace login
     * @param response | Respuesta HTTP
     */
    private extractCookiesAuth;
    /**
     * Devuelve los datos de autorización para añadirlo al header de la llamada
     * @returns Cabecera
     */
    private getHeaderTokenAuth;
    /**
     * Devuelve las cookies de autorización
     * @returns
     */
    private getCookiesAuth;
    /**
     * Reset de variables internas para el login
     */
    private resetVariablesLogout;
}
//# sourceMappingURL=connectionRepository.d.ts.map