import { AuthResult } from '../core/types.js';
export declare class AuthCache {
    private static instance;
    private cache;
    private failureTracking;
    private readonly TTL_SETTINGS;
    private readonly FAILURE_BACKOFF;
    private constructor();
    static getInstance(): AuthCache;
    set(service: keyof typeof this.TTL_SETTINGS, auth: AuthResult): void;
    get(service: keyof typeof this.TTL_SETTINGS): AuthResult | null;
    invalidate(service: keyof typeof this.TTL_SETTINGS): void;
    clear(): void;
    getStats(): {
        totalEntries: number;
        services: Array<{
            service: string;
            cached: boolean;
            timeToExpiry?: number;
            success?: boolean;
        }>;
    };
    cleanup(): number;
    isCached(service: keyof typeof this.TTL_SETTINGS): boolean;
    forceRefresh(service: keyof typeof this.TTL_SETTINGS): void;
    private getOrCreateFailureTracking;
    private calculateFailureTTL;
    getFailureInfo(service: string): {
        count: number;
        nextRetryTime?: Date;
    } | null;
}
//# sourceMappingURL=AuthCache.d.ts.map