import { AuthenticationProvider, AuthenticationContext, AuthenticationSource } from '../types/auth-source.types';
import { SessionStateManager } from './session-state';
import { AccountConfigManager } from './account-config';
export declare class DefaultAuthenticationProvider implements AuthenticationProvider {
    private sourceManager;
    constructor(sessionManager?: SessionStateManager, accountManager?: AccountConfigManager);
    getAuthenticationContext(options?: Record<string, unknown>): AuthenticationContext | null;
    getCredentials(options?: Record<string, unknown>): {
        appId: string;
        appSecret: string;
        userId?: string;
    } | null;
    getCurrentSource(options?: Record<string, unknown>): AuthenticationSource | null;
    validateAuthentication(source: AuthenticationSource): boolean;
    getStatusMessage(options?: Record<string, unknown>): string;
    getDiagnostics(options?: Record<string, unknown>): {
        availableSources: AuthenticationSource[];
        selectedSource?: AuthenticationSource;
        errors: string[];
        warnings: string[];
        suggestions: string[];
    };
    getSourceByType(type: string, options?: Record<string, unknown>): AuthenticationSource | null;
    isSourceAvailable(type: string, options?: Record<string, unknown>): boolean;
}
export declare const authProvider: DefaultAuthenticationProvider;
//# sourceMappingURL=auth-provider.d.ts.map