import { SpeakerSettings } from './speech-model.js'; /** The part of a voice the utilities need (structural, so tests need no browser). */ export interface VoiceLike { voiceURI: string; name: string; lang: string; localService: boolean; default: boolean; } /** * Voices whose language matches the locale ("de" matches "de-DE", "de_AT", * "de"), local engines first, then the platform default, then by name — * the order an app can show in a picker as-is. */ export declare function filterVoicesByLocale(voices: readonly T[], locale: string): T[]; /** * The voice to use: the configured one if it still exists, otherwise the * best voice for the locale, otherwise nothing (the engine picks by `lang`). */ export declare function pickVoice(voices: readonly T[], locale: string, voiceURI?: string): T | undefined; /** * Split text into chunks of at most `maxLength` characters, preferring * sentence ends, then commas/semicolons, then spaces. Chrome silently * stops utterances that run longer than roughly 15 seconds. */ export declare function splitIntoChunks(text: string, maxLength: number): string[]; /** Complete settings within the supported ranges (NaN/undefined → default). */ export declare function normalizeSpeakerSettings(settings?: Partial): SpeakerSettings; //# sourceMappingURL=speech-utils.d.ts.map