import type { oTokenProvider, oTokenResult } from './o-token-provider.js'; import type { oTokenStore } from './o-token-store.js'; import type { ORequestAuthContext } from '../context/o-request-context.js'; export interface oTokenManagerConfig { provider: oTokenProvider; autoRefresh?: boolean; refreshBufferMs?: number; defaultLifetimeMs?: number; maxRefreshRetries?: number; onRefreshFailure?: (error: Error) => void; store?: oTokenStore; storeKey?: string; } export declare class oTokenManager { private provider; private autoRefresh; private refreshBufferMs; private defaultLifetimeMs; private maxRefreshRetries; private onRefreshFailure?; private store; private storeKey; private storeLoaded; private currentResult; private acquiredAt; private refreshPromise; private refreshTimer; private destroyed; constructor(config: oTokenManagerConfig); getToken(forceRefresh?: boolean): Promise; getTokenResult(forceRefresh?: boolean): Promise; refresh(): Promise; isExpired(): boolean; isCloseToExpiration(): boolean; getTimeUntilExpiration(): number | null; toAuthContext(): ORequestAuthContext | null; destroy(): Promise; private loadFromStore; private saveToStore; private executeRefreshWithRetry; private scheduleAutoRefresh; private clearRefreshTimer; private getExpiresAtMs; private sleep; } //# sourceMappingURL=o-token-manager.d.ts.map