export declare type BSSOInitArguments = {
    clientId: string;
    redirectUri: string;
    codeVerifier?: string | null;
    accessToken?: string | null;
    refreshToken?: string | null;
    expirationTimestamp?: number | null;
};
export declare class BSSO {
    private _clientId;
    private _redirectUri;
    private _codeVerifier;
    private _accessToken;
    private _refreshToken;
    private _expirationTimestamp;
    get clientId(): string;
    get redirectUri(): string;
    get codeVerifier(): string;
    get accessToken(): string | null;
    get refreshToken(): string | null;
    get expirationTimestamp(): number | null;
    constructor({ clientId, redirectUri, codeVerifier, accessToken, refreshToken, expirationTimestamp, }: BSSOInitArguments);
    private createTokenFromRedirectCode;
    private regenerateToken;
    private handleTokenResponse;
    getToken(code?: string): Promise<string | null>;
    isExpired(): boolean;
    getRedirectURL(token: string, scope?: string): Promise<string>;
    toJSON(): {
        clientId: string;
        redirectUri: string;
        codeVerifier: string;
        accessToken: string | null;
        refreshToken: string | null;
        expirationTimestamp: number | null;
    };
}
