import { RateLimitError } from '@codewithdan/ai-repo-adventures-core/llm'; import { AdventureTheme } from '@codewithdan/ai-repo-adventures-core/shared'; /** * Handles rate limit detection, recovery, and retry logic for theme generation */ export declare class RateLimitHandler { private completedThemes; constructor(completedThemes: Set); /** * Check if an error is a rate limit error that should trigger sequential retry * Recognizes RateLimitError instances from the LLM client */ isTokenRateLimitError(error: any): boolean; /** * Handle rate limit errors by waiting and switching to sequential mode */ handleTokenRateLimitAndRetry(themes: AdventureTheme[], error: RateLimitError, generateThemesSequentiallyFn: (themes: AdventureTheme[]) => Promise): Promise; /** * Wait for rate limit window to reset with countdown display */ waitForRateLimit(waitSeconds: number): Promise; } //# sourceMappingURL=rate-limit-handler.d.ts.map