declare class MarketWebLoginManager {
    eventTarget: EventTarget;
    endpoint: String;
    storagePrefix: String;
    checkUserLoggedInStateInterval: number;
    baseUrls: {
        at: string;
        prod: string;
    };
    events: {
        loginstatechange: string;
    };
    endpoints: {
        authorizationEndpoint: string;
        tokenExchangeEndpoint: string;
        userInfoEndpoint: string;
        logoutEndpoint: string;
    };
    keys: {
        tokensource: string;
        token: string;
        accessToken: string;
        user: string;
        expire: string;
        expireDate: string;
    };
    overridetokenValue: string;
    siteUrl: String;
    abortSignalForLoginCheck: any;
    loginCheckInProgress: boolean;
    loginCheckTimer: any;
    constructor(options?: IMarketWebLoginManagerOptions);
    init(checkParameters?: boolean): void;
    setSiteUrl(siteUrl: any): void;
    initiateLoggedInCheck(): void;
    doExternalLoggedInCheck(): Promise<void>;
    LogoutUser(): void;
    isLoggedIn(override?: boolean): boolean;
    registerToken(token?: string, tokenSource?: string): void;
    invalidateTokenOfType(tokenSource?: string): void;
    getLoginUrl(redirectPage?: string): string;
    getLogoutUrl(linkHref?: string): string;
    getUserInfo(): IUserInfo;
    getEventTarget(): EventTarget;
    private checkExpireTime;
    private checkPNTopbar;
    private checkParameters;
    private fetchUserInfo;
    clearUserData(): void;
    getToken(): any;
    getAccessToken(): any;
    exchangeToken(oneTimeCode: any): Promise<void>;
    private loginStateChange;
    private getBaseUrl;
    private parseUserInfo;
    store: {
        get: (key: string) => any;
        set: (key: string, value: any) => void;
        remove: (key: string) => void;
    };
}
interface IMarketWebLoginManagerOptions {
    eventTarget?: EventTarget;
    endpoint?: String;
    storagePrefix?: String;
    userInfo?: IUserInfo;
    checkUserLoggedInStateInterval?: number;
}
interface IUserInfo {
    acr?: string;
    ams?: string[];
    at_hash?: string;
    aud?: string;
    auth_time?: number;
    created_at?: number;
    email?: string;
    email_verifier?: true;
    emails?: IUserInfoEmail[];
    exp?: number;
    family_name?: string;
    given_name?: string;
    iat?: number;
    iss?: string;
    jti?: string;
    nonce?: string;
    phone_number?: string;
    phone_number_verified?: boolean;
    phone_number_verified_at?: string;
    phone_numbers?: IUserInfoPhonenumber[];
    rat?: number;
    sid?: string;
    sub?: string;
    uas_status?: number;
    userId?: string;
    username?: string;
}
interface IUserInfoEmail {
    email: string;
    verifiet_at: number;
}
interface IUserInfoPhonenumber {
    phone_number: string;
    verifiet_at: string;
}
export { MarketWebLoginManager, IMarketWebLoginManagerOptions, IUserInfo };
