export type ModelFamily = "claude" | "gemini"; export interface RateLimitState { claude?: number; gemini?: number; } export interface AccountMetadataV1 { email?: string; refreshToken: string; projectId?: string; managedProjectId?: string; addedAt: number; lastUsed: number; isRateLimited?: boolean; rateLimitResetTime?: number; lastSwitchReason?: "rate-limit" | "initial" | "rotation"; } export interface AccountStorageV1 { version: 1; accounts: AccountMetadataV1[]; activeIndex: number; } export interface AccountMetadata { email?: string; refreshToken: string; projectId?: string; managedProjectId?: string; addedAt: number; lastUsed: number; lastSwitchReason?: "rate-limit" | "initial" | "rotation"; rateLimitResetTimes?: RateLimitState; } export interface AccountStorage { version: 2; accounts: AccountMetadata[]; activeIndex: number; } export declare function getStoragePath(): string; export declare function deduplicateAccountsByEmail(accounts: AccountMetadata[]): AccountMetadata[]; export declare function loadAccounts(): Promise; export declare function saveAccounts(storage: AccountStorage): Promise; export declare function clearAccounts(): Promise; //# sourceMappingURL=storage.d.ts.map