// This file was auto-generated by Fern from our API Definition.

import type * as Vapi from "../index.js";

export interface RimeAiVoice {
    /** This is the flag to toggle voice caching for the assistant. */
    cachingEnabled?: boolean | undefined;
    /** This is the provider-specific ID that will be used. */
    voiceId: Vapi.RimeAiVoiceId;
    /** This is the model that will be used. Defaults to 'arcana' when not specified. */
    model?: Vapi.RimeAiVoiceModel | undefined;
    /** This is the speed multiplier that will be used. */
    speed?: number | undefined;
    /** This is a flag that controls whether to add slight pauses using angle brackets. Example: "Hi. <200> I'd love to have a conversation with you." adds a 200ms pause between the first and second sentences. */
    pauseBetweenBrackets?: boolean | undefined;
    /** This is a flag that controls whether text inside brackets should be phonemized (converted to phonetic pronunciation) - Example: "{h'El.o} World" will pronounce "Hello" as expected. */
    phonemizeBetweenBrackets?: boolean | undefined;
    /** This is a flag that controls whether to optimize for reduced latency in streaming. https://docs.rime.ai/api-reference/endpoint/websockets#param-reduce-latency */
    reduceLatency?: boolean | undefined;
    /** This is a string that allows inline speed control using alpha notation. https://docs.rime.ai/api-reference/endpoint/websockets#param-inline-speed-alpha */
    inlineSpeedAlpha?: string | undefined;
    /** Language for speech synthesis. Uses ISO 639 codes. Supported: en, es, de, fr, ar, hi, ja, he, pt, ta, si. */
    language?: Vapi.RimeAiVoiceLanguage | undefined;
    /** This is the plan for chunking the model output before it is sent to the voice provider. */
    chunkPlan?: Vapi.ChunkPlan | undefined;
    /** This is the plan for voice provider fallbacks in the event that the primary voice provider fails. */
    fallbackPlan?: Vapi.FallbackPlan | undefined;
}
