export interface CodexProfile { id: string; codexHome: string; cooldownUntil?: number | undefined; failureCount: number; lastFailureReason?: string | undefined; } interface ProfileManagerOptions { codexHomes?: string[] | undefined; cooldownMs?: number | undefined; now?: (() => number) | undefined; } export declare class ProfileManager { private readonly cooldownMs; private readonly now; private readonly profiles; private currentIndex; constructor(options?: ProfileManagerOptions); static fromEnvironment(now?: () => number): ProfileManager; getCurrentProfile(): CodexProfile; getProfiles(): CodexProfile[]; markFailure(reason: string): { rotated: boolean; profile?: CodexProfile; }; private resetExpiredCooldowns; private findFirstAvailableIndex; } export {};