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; } export declare class LlamaCppProvider implements TranslationProvider { 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"; supportsLang(lang: string): boolean; translate(text: string, fromLang: string, toLang: string): Promise; } export declare class LingvaProvider implements TranslationProvider { readonly name = "Lingva"; private readonly instances; 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; private readonly google; constructor(options?: { delayMs?: number; verbose?: boolean; }); /** True for languages with reliable web API coverage. Others go direct to Ollama. */ isMainstreamLang(lang: string): 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