/**
 * In-Memory Quota Cache
 *
 * Reduces external API calls by caching quota results with TTL.
 * Uses a simple Map-based cache with automatic expiration.
 */
/**
 * Get cached quota result if still valid
 * @param provider - Provider name (codex, gemini, agy)
 * @param accountId - Account identifier
 * @param ttlMs - Time-to-live in milliseconds (default: 2 minutes)
 * @returns Cached result or null if expired/missing
 */
export declare function getCachedQuota<T>(provider: string, accountId: string, ttlMs?: number): T | null;
/**
 * Store quota result in cache
 * @param provider - Provider name (codex, gemini, agy)
 * @param accountId - Account identifier
 * @param data - Quota result to cache
 */
export declare function setCachedQuota<T>(provider: string, accountId: string, data: T): void;
/**
 * Invalidate cache for a specific account
 * @param provider - Provider name
 * @param accountId - Account identifier
 */
export declare function invalidateQuotaCache(provider: string, accountId: string): void;
/**
 * Invalidate all cache entries for a provider
 * @param provider - Provider name to clear
 */
export declare function invalidateProviderCache(provider: string): void;
/**
 * Clear entire quota cache
 */
export declare function clearQuotaCache(): void;
/**
 * Get cache statistics for debugging
 */
export declare function getQuotaCacheStats(): {
    size: number;
    entries: string[];
};
/** Export cache TTL for consumers */
export declare const QUOTA_CACHE_TTL_MS: number;
//# sourceMappingURL=quota-response-cache.d.ts.map