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

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

export interface FormatPlan {
    /**
     * This determines whether the chunk is formatted before being sent to the voice provider. This helps with enunciation. This includes phone numbers, emails and addresses. Default `true`.
     *
     * Usage:
     * - To rely on the voice provider's formatting logic, set this to `false`.
     *
     * If `voice.chunkPlan.enabled` is `false`, this is automatically `false` since there's no chunk to format.
     *
     * @default true
     */
    enabled?: boolean | undefined;
    /**
     * This is the cutoff after which a number is converted to individual digits instead of being spoken as words.
     *
     * Example:
     * - If cutoff 2025, "12345" is converted to "1 2 3 4 5" while "1200" is converted to "twelve hundred".
     *
     * Usage:
     * - If your use case doesn't involve IDs like zip codes, set this to a high value.
     * - If your use case involves IDs that are shorter than 5 digits, set this to a lower value.
     *
     * @default 2025
     */
    numberToDigitsCutoff?: number | undefined;
    /**
     * These are the custom replacements you can make to the chunk before it is sent to the voice provider.
     *
     * Usage:
     * - To replace a specific word or phrase with a different word or phrase, use the `ExactReplacement` type. Eg. `{ type: 'exact', key: 'hello', value: 'hi' }`
     * - To replace a word or phrase that matches a pattern, use the `RegexReplacement` type. Eg. `{ type: 'regex', regex: '\\b[a-zA-Z]{5}\\b', value: 'hi' }`
     *
     * @default []
     */
    replacements?: Vapi.FormatPlanReplacementsItem[] | undefined;
    /**
     * List of formatters to apply. If not provided, all default formatters will be applied.
     * If provided, only the specified formatters will be applied.
     * Note: Some essential formatters like angle bracket removal will always be applied.
     * @default undefined
     */
    formattersEnabled?: Vapi.FormatPlanFormattersEnabledItem[] | undefined;
}
