import type { VoiceEmbedding } from "../voice/types.js"; export interface SynthesisCacheOptions { /** * How many rendered chunks to keep per voice before evicting the least * recently used one. * * @defaultValue 32 */ maxEntriesPerVoice?: number; } /** * LRU cache of rendered audio, keyed by voice identity, text, speed and * expressiveness. * * Voices are compared by object identity (the `VoiceEmbedding` instance held * by `VoxShot`), so re-cloning the same reference audio starts a fresh cache. * Entries are held through a `WeakMap`, so dropping a voice frees its audio. */ export declare class SynthesisCache { #private; constructor(options?: SynthesisCacheOptions); get(voice: VoiceEmbedding, text: string, speed: number, expressiveness?: number): Float32Array | undefined; set(voice: VoiceEmbedding, text: string, speed: number, samples: Float32Array, expressiveness?: number): void; } //# sourceMappingURL=synthesis-cache.d.ts.map