import KeyChain from '../keychain';
import CoreConfigModule from '../coreConfig';
import { Logger } from '../utils/logger';
import { AuthConfig } from '../types/AuthConfig.type';
export default class Auth {
    private keyChain;
    private logger;
    private coreConfig;
    private codeVerifier;
    private authConfig;
    constructor(keyChain: KeyChain, logger: Logger, coreConfig: CoreConfigModule);
    checkIfAuthFlowRequired(): Promise<boolean>;
    initializeAuthFlow(): Promise<boolean>;
    getConfig(): Promise<AuthConfig | null>;
    private checkIfTokenExpired;
    private createCodeVerifier;
    private createCodeChallenge;
    private createAuthServer;
    private constructAuthUrl;
    private openAuthPage;
    private handleAuthResponse;
    logout(): Promise<void>;
}
