import { SessionState, SessionOperationResult, AuthSource } from '../types/session.types';
import { SessionStorage } from './session-storage';
import { AccountConfigManager } from './account-config';
export declare class SessionStateManager {
    private sessionStorage;
    private accountManager;
    constructor(accountManager?: AccountConfigManager, sessionStorage?: SessionStorage);
    setSessionAccount(accountName: string): SessionOperationResult;
    getCurrentSessionAccount(): string | null;
    clearSessionAccount(): SessionOperationResult;
    getSessionState(): SessionState | null;
    getAuthSource(commandLineArgs?: {
        appId?: string;
        appSecret?: string;
        userId?: string;
    }): AuthSource;
    getAuthCredentials(commandLineArgs?: {
        appId?: string;
        appSecret?: string;
        userId?: string;
    }): {
        appId: string;
        appSecret: string;
        userId?: string;
        source: AuthSource;
    } | null;
    getAuthStatusMessage(commandLineArgs?: {
        appId?: string;
        appSecret?: string;
        userId?: string;
    }): string;
    private validateAccountName;
    cleanupExpiredSessions(): number;
    getSessionDir(): string;
    getEnvVarName(): string;
}
//# sourceMappingURL=session-state.d.ts.map