export declare class RateLimitError extends Error { constructor(provider: string); } export interface TranslationProvider { name: string; supportsLang?(lang: string): boolean; translate(text: string, fromLang: string, toLang: string): Promise; } /** An AI endpoint that takes every target language in one call. */ export interface BatchTranslationProvider { name: string; translateBatch(text: string, fromLang: string, langCodes: string[]): Promise>; } export declare class LlamaCppProvider implements TranslationProvider, BatchTranslationProvider { readonly name = "llama-cpp"; private translator; constructor(host?: string); static create(host?: string): Promise; translate(text: string, fromLang: string, toLang: string): Promise; /** Single inference → all target langs at once — far fewer GPU cycles than one-per-lang. */ translateBatch(text: string, fromLang: string, langCodes: string[]): Promise>; } export declare class MyMemoryProvider implements TranslationProvider { readonly name = "MyMemory"; private readonly email; translate(text: string, fromLang: string, toLang: string): Promise; } export declare class GoogleUnofficialProvider implements TranslationProvider { readonly name = "Google"; translate(text: string, fromLang: string, toLang: string): Promise; } export declare class ProviderPool { private providers; private rateLimitUntil; private readonly delayMs; private readonly logger; constructor(options?: { delayMs?: number; verbose?: boolean; }); private delay; private isAvailable; private backoff; translate(text: string, fromLang: string, toLang: string): Promise; getStatus(): { active: string[]; rateLimited: string[]; }; } //# sourceMappingURL=web-translation-providers.d.ts.map