import { ISuccessfulAuthenticationResult } from "../..";
import { IUserSessionOperationsProvider } from "../../src/security/interfaces/i-user-session-operations-provider.interface";
/**
 * @deprecated Use @studyportals/client-internal-platform-sso
 */
declare class UserSessionCookieManager implements IUserSessionOperationsProvider {
    private static readonly COOKIE_USERNAME;
    private static readonly COOKIE_REFRESH_TOKEN;
    private static readonly COOKIE_CREATION_TIME;
    private static readonly COOKIE_AVAILABILITY_LENGTH;
    private static readonly COOKIE_ID_TOKEN;
    private static readonly EARLY_REFRESH_PERIOD_IN_MS;
    private _intervalDuration;
    private _cognitoClientId;
    private _cognitoPoolId;
    private _cognitoIdentityServiceProvider;
    private _cookieDomain;
    private get intervalDuration();
    private get cognitoClientId();
    private get cognitoPoolId();
    private get cognitoIdentityServiceProvider();
    protected get earlyRefreshPeriod(): number;
    private get cookieDomain();
    constructor(cognitoClientId: string, cognitoPoolId: string, domain: string);
    getUsername(): string;
    setUsername(value: string): void;
    getRefreshToken(): string;
    setRefreshToken(value: string): void;
    getCreationTime(): Date;
    setCreationTime(date: Date): void;
    getAvailabilityLength(): number;
    setAvailabilityLength(value: number): void;
    getIdToken(): string;
    setIdToken(value: string): void;
    private updateCookie;
    private setCookie;
    private getCookie;
    getAuthorization(): string;
    keepAlive(): void;
    setupFromSuccessfulAuthentication(authenticationResult: ISuccessfulAuthenticationResult): void;
    setupFromSuccessfulAuthenticationAndKeepAlive(authenticationResult: ISuccessfulAuthenticationResult): void;
    isSessionSetup(): boolean;
    isSessionSetupAndNotExpired(): boolean;
    keepAliveIfSetup(): void;
    keepAliveIfSetupAndNotExpired(): void;
    destroy(): void;
    private sessionExpired;
    private getExpirationTime;
    private generateIntervalDuration;
    mustRefresh(): boolean;
    private refreshSession;
    private refreshSessionIfNeeded;
    private createCognitoUserPool;
    private createCognitoUser;
    private createCognitoRefreshToken;
    private setInterval;
    private getCurrentTime;
}
export { UserSessionCookieManager };
