import { SpeechEngine } from './types'; export interface HostedTtsOptions { /** Absolute or same-origin path of OUR proxy. Never the vendor directly. */ endpoint: string; /** Extra headers per request (auth). Called fresh each time so a rotated token is picked up. */ getHeaders?: () => Record; fetchImpl?: typeof fetch; /** Test seam: the clock the disable window is measured against. */ now?: () => number; } /** * The hosted engine, plus the one hook its owner needs beyond `SpeechEngine`. */ export interface HostedSpeechEngine extends SpeechEngine { /** * The configured header source may now yield different headers. * * Lifts a refusal (401/403) that was earned with DIFFERENT headers — a stale * or missing token that the host has since corrected — instead of keeping * hosted speech off for the rest of the window. A no-op otherwise. */ headersChanged(): void; } export declare function createHostedTtsEngine(options: HostedTtsOptions): HostedSpeechEngine; //# sourceMappingURL=hostedTtsSpeechEngine.d.ts.map