/**
 * 平台系统配置
 */
interface SystemConfig {
    /**
     * 在平台申请的密钥信息
     */
    readonly API_SECRET: string;
    /**
     * 在平台申请的APPID信息
     */
    readonly APPID: string;
    /**
     *  在平台申请的API_KEY信息
     */
    readonly API_KEY: string;
}
/**
 * 公共参数接口
 */
interface CommonParams {
    /**
     * 在平台申请的APPID信息
     */
    app_id: string;
}
/**
 * 业务参数接口
 */
interface BusinessParams {
    /**
     * 音频编码
     * - 'raw': 未压缩的pcm
     * - 'lame': mp3 (当aue=lame时需传参sfl=1)
     * - 'speex-org-wb;7': 标准开源speex（for speex_wideband，即16k）数字代表指定压缩等级（默认等级为8）
     * - 'speex-org-nb;7': 标准开源speex（for speex_narrowband，即8k）数字代表指定压缩等级（默认等级为8）
     * - 'speex;7': 压缩格式，压缩等级1~10，默认为7（8k讯飞定制speex）
     * - 'speex-wb;7': 压缩格式，压缩等级1~10，默认为7（16k讯飞定制speex）
     */
    aue: 'raw' | 'lame' | 'speex-org-wb;7' | 'speex-org-nb;7' | 'speex;7' | 'speex-wb;7';
    /**
     * 需要配合aue=lame使用，开启流式返回
     * 取值：1 开启
     */
    sfl?: 1;
    /**
     * 音频采样率
     * - 'audio/L16;rate=8000': 合成8K 的音频
     * - 'audio/L16;rate=16000': 合成16K 的音频
     * - 不传值：合成16K 的音频
     */
    auf?: 'audio/L16;rate=8000' | 'audio/L16;rate=16000';
    /**
     * 发音人，可选值：请到控制台添加试用或购买发音人，添加后即显示发音人参数值
     */
    vcn: string;
    /**
     * 语速，可选值：[0-100]，默认为50
     */
    speed?: number;
    /**
     * 音量，可选值：[0-100]，默认为50
     */
    volume?: number;
    /**
     * 音高，可选值：[0-100]，默认为50
     */
    pitch?: number;
    /**
     * 合成音频的背景音
     * - 0: 无背景音（默认值）
     * - 1: 有背景音
     */
    bgs?: 0 | 1;
    /**
     * 文本编码格式
     * - 'UNICODE': UNICODE(小语种必须使用UNICODE编码，合成的文本需使用utf16小端的编码方式)
     * - 'UTF8': UTF8（小语种）
     */
    tte?: 'unicode' | 'UTF8';
    /**
     * 设置英文发音方式：
     * - 0：自动判断处理，如果不确定将按照英文词语拼写处理（缺省）
     * - 1：所有英文按字母发音
     * - 2：自动判断处理，如果不确定将按照字母朗读
     */
    reg?: '0' | '1' | '2';
    /**
     * 合成音频数字发音方式
     * - 0：自动判断（默认值）
     * - 1：完全数值
     * - 2：完全字符串
     * - 3：字符串优先
     */
    rdn?: '0' | '1' | '2' | '3';
}
/**
 * 业务数据流参数接口
 */
interface DataParams {
    /**
     * 文本内容，需进行base64编码；
     * base64编码前最大长度需小于8000字节，约2000汉字
     */
    text: string;
    /**
     * 数据状态，固定为2
     * 注：由于流式合成的文本只能一次性传输，不支持多次分段传输，此处status必须为2。
     */
    status: 2;
}
/**
 * 请求参数
 */
interface RequestParams {
    common: CommonParams;
    business: BusinessParams;
    data: DataParams;
}
/**
 * 内部使用的事件名称
 */
type PrivateCustomEventName = '_textSplitFinish'
/**
 * tts请求执行
 */
 | '_ttsRequestFinish'
/**
 * 响应转码执行
 */
 | '_responseTranscodeFinish'
/**
 * 音频解码执行
 */
 | '_decodeDataFinish'
/**
 * 音频播放执行
 */
 | '_audioActuatorFinish' | '_audioActuatorBeforeFirstExecute'
/**
 * 当前整个应用
 */
 | '_appFinish';
/**
 * 对外暴露的事件名称
 */
type PublicCustomEventName = 'appFinish' | 'audioFirstStart';
declare enum SystemStatus {
    /**
     * 空闲状态
     */
    OFFLINE = "offline",
    /**
     * 执行中
     */
    EXECUTE = "execute"
}
/**
 * TTS WebSocket响应数据接口
 */
interface TtsWebSocketResponse {
    /**
     * 返回码，0表示成功，其它表示异常
     */
    code: number;
    /**
     * 描述信息
     */
    message: string;
    /**
     * 响应数据，可能为null
     */
    data: {
        /**
         * 合成后的音频片段，采用base64编码
         */
        audio: string;
        /**
         * 当前音频流状态，1表示合成中，2表示合成结束
         */
        status: 1 | 2;
        /**
         * 合成进度，指当前合成文本的字节数
         * 注：请注意合成是以句为单位切割的，若文本只有一句话，则每次返回结果的ced是相同的
         */
        ced: string;
    } | null;
    /**
     * 本次会话的id，只在第一帧请求时返回
     */
    sid?: string;
}
export type { BusinessParams, CommonParams, DataParams, PrivateCustomEventName, PublicCustomEventName, RequestParams, SystemConfig, TtsWebSocketResponse, };
export { SystemStatus };
