import type { ManagedAccount } from "./accounts/types.js"; export interface CodexRateLimitSnapshot { key?: string; accountId: string; email: string; plan: string; backendPlan?: string; updatedAt: number; primary: { usedPercent: number; windowMinutes: number; resetAt: number; } | null; secondary: { usedPercent: number; windowMinutes: number; resetAt: number; } | null; credits: { hasCredits: boolean; unlimited: boolean; balance: string; } | null; } export declare class CodexStatusManager { private snapshots; private initPromise; private ensureInitialized; private getSnapshotKey; updateFromHeaders(account: ManagedAccount, headers: Record): Promise; getSnapshot(account: ManagedAccount): Promise<(CodexRateLimitSnapshot & { isStale: boolean; }) | null>; getAllSnapshots(): Promise; renderStatus(account: ManagedAccount): Promise; updateFromSnapshot(account: ManagedAccount, snapshot: any): Promise; fetchFromBackend(account: ManagedAccount, accessToken: string): Promise; private loadFromDisk; private saveToDisk; } export declare const codexStatus: CodexStatusManager; //# sourceMappingURL=codex-status.d.ts.map