import { AxiosInstance } from 'axios';
import { Socket } from 'socket.io-client';
interface IOAuth {
    ssoId: string;
    appId: string;
    aWhereUrl: string;
    scope: string[];
    signedIn: boolean;
    popup: boolean;
    callbackUrl?: string;
    popupCallbackUrl?: string;
    locale?: string;
    codeChallengeMethod?: string;
    codeVerifier?: string;
    accessToken?: string;
    refreshToken?: string;
    expirationDate?: Date;
    expired?: boolean;
    request?: AxiosInstance;
    socket?: Socket;
}
declare class OAuth implements IOAuth {
    private _ssoId;
    get ssoId(): string;
    set ssoId(value: string);
    private _appId;
    get appId(): string;
    set appId(value: string);
    private _aWhereUrl;
    get aWhereUrl(): string;
    set aWhereUrl(value: string);
    private _scope;
    get scope(): string[];
    set scope(value: string[]);
    private _signedIn;
    get signedIn(): boolean;
    private _popup;
    get popup(): boolean;
    set popup(value: boolean);
    private _callbackUrl?;
    get callbackUrl(): string | undefined;
    set callbackUrl(value: string | undefined);
    private _popupCallbackUrl?;
    get popupCallbackUrl(): string | undefined;
    set popupCallbackUrl(value: string | undefined);
    private _locale?;
    get locale(): string | undefined;
    set locale(value: string | undefined);
    private _codeChallengeMethod?;
    get codeChallengeMethod(): string | undefined;
    set codeChallengeMethod(value: string | undefined);
    private _codeVerifier?;
    get codeVerifier(): string | undefined;
    private _accessToken?;
    get accessToken(): string | undefined;
    private _refreshToken?;
    get refreshToken(): string | undefined;
    private _expirationDate?;
    get expirationDate(): Date | undefined;
    get expired(): boolean | undefined;
    private _remember;
    get remember(): boolean;
    private _request?;
    get request(): AxiosInstance | undefined;
    private _socket?;
    get socket(): Socket | undefined;
    constructor(props: {
        appId: string;
        aWhereUrl: string;
        scope?: string[];
        popup?: boolean;
        callbackUrl?: string;
        popupCallbackUrl?: string;
        locale?: string;
        codeChallengeMethod?: string;
        ssoId?: string;
    });
    toJSON(): {
        ssoId: string;
        appId: string;
        aWhereUrl: string;
        scope: string[];
        signedIn: boolean;
        popup: boolean;
        callbackUrl: string | undefined;
        popupCallbackUrl: string | undefined;
        locale: string | undefined;
        codeChallengeMethod: string | undefined;
        codeVerifier: string | undefined;
        accessToken: string | undefined;
        refreshToken: string | undefined;
        expirationDate: number | undefined;
        remember: boolean;
    };
    syncWithStorage(): Promise<void>;
    /**
     * @deprecated use syncWithStorage instead.
     */
    syncWithLocalStorage(): Promise<void>;
    getAuthorizationUrl(state?: string): Promise<string>;
    signIn(forced?: boolean): Promise<void>;
    signOut(): Promise<unknown>;
    destroy(): Promise<unknown>;
    fetchNewTokens(): Promise<unknown>;
}
export default OAuth;
export declare const fetchToken: (params: Location | string) => Promise<unknown>;
