/**
 * Token Expiry Checker
 *
 * Inspects token files to determine expiry times and refresh requirements.
 * Supports expiry_date field with fallback to file modification time.
 */
import { CLIProxyProvider } from '../types';
/** Preemptive refresh time: refresh tokens 45 minutes before expiry */
export declare const PREEMPTIVE_REFRESH_MINUTES = 45;
/** Fallback expiry: assume 50 minutes if no expiry_date field */
export declare const FALLBACK_EXPIRY_MINUTES = 50;
/** Token expiry information for a single account */
export interface TokenExpiryInfo {
    /** Provider name */
    provider: CLIProxyProvider;
    /** Account ID */
    accountId: string;
    /** Path to token file */
    tokenFile: string;
    /** Expiry timestamp (Unix ms) */
    expiresAt: number;
    /** Whether token needs refresh (within preemptive window) */
    needsRefresh: boolean;
    /** Token file last modified time */
    lastModified: Date;
}
/**
 * Get token expiry info for a specific account
 * @returns null if token file doesn't exist or is invalid
 */
export declare function getTokenExpiryInfo(provider: CLIProxyProvider, accountId: string): TokenExpiryInfo | null;
/**
 * Get token expiry info for all accounts across all providers
 * @returns Array of token expiry info, excluding invalid tokens
 */
export declare function getAllTokenExpiryInfo(): TokenExpiryInfo[];
//# sourceMappingURL=token-expiry-checker.d.ts.map