import type { ASRInitConfig, ASRDialogParams, ASREventCallback, ASRAudioStateCallback } from './types'; import { ASREvent, VadMode } from './types'; /** * 阿里云实时语音识别 SDK * * 使用示例: * ```typescript * const asr = AliyunASR.getInstance(); * await asr.initialize({ appKey: 'xxx', token: 'xxx' }); * await asr.startRecognition(); * ``` */ export declare class AliyunASR { private static instance; private subscriptions; private eventCallbacks; private allEventCallbacks; private audioStateCallbacks; private isInitialized; private logAllEvents; private constructor(); /** * 获取单例实例 */ static getInstance(): AliyunASR; /** * 初始化 SDK * @param config 初始化配置 */ initialize(config: ASRInitConfig): Promise; /** * 释放 SDK 资源 */ release(): Promise; /** * 开始语音识别 * @param vadMode VAD 模式,默认 MODE_P2T * @param params 识别参数(可选) */ startRecognition(vadMode?: VadMode, params?: ASRDialogParams): Promise; /** * 停止语音识别(会返回最终结果) */ stopRecognition(): Promise; /** * 取消语音识别(不会返回结果) * @param force 是否强制取消,默认 true */ cancelRecognition(force?: boolean): Promise; /** * 设置参数 * @param key 参数名 * @param value 参数值 */ setParam(key: string, value: string): Promise; /** * 批量设置参数 * @param params 参数对象 */ setParams(params: Record): Promise; /** * 获取参数 * @param key 参数名 */ getParam(key: string): Promise; /** * 订阅事件 * @param event 事件类型 * @param callback 回调函数 */ on(event: ASREvent, callback: ASREventCallback): void; /** * 取消订阅事件 * @param event 事件类型 * @param callback 回调函数 */ off(event: ASREvent, callback: ASREventCallback): void; /** * 一次性订阅事件 * @param event 事件类型 * @param callback 回调函数 */ once(event: ASREvent, callback: ASREventCallback): void; /** * 订阅全部 ASR 事件 */ onAllEvents(callback: ASREventCallback): void; /** * 取消订阅全部 ASR 事件 */ offAllEvents(callback: ASREventCallback): void; /** * 订阅录音状态 */ onAudioStateChange(callback: ASRAudioStateCallback): void; /** * 取消订阅录音状态 */ offAudioStateChange(callback: ASRAudioStateCallback): void; /** * 清空全部 JS 回调 */ removeAllCallbacks(): void; private ensureInitialized; private buildInitParams; private buildDialogParams; private buildRecognitionParams; private setupEventListeners; private normalizeResult; private tryParseResultJson; private removeNativeEventListeners; } export declare const createASR: () => AliyunASR; //# sourceMappingURL=AliyunASR.d.ts.map