/**
 * 科大讯飞语音识别模块
 * @description 基于 WebSocket 的实时语音识别，支持麦克风录音、文件识别、重连机制
 */
import { XfyunASROptions, ASREventHandlers, RecognizerState } from './types';
import { BaseWebSocketClient } from './base-websocket-client';
/**
 * 科大讯飞语音识别类
 *
 * 继承 BaseWebSocketClient，复用 WebSocket 连接管理、状态管理、错误处理等通用逻辑。
 * 专注于语音识别特有的功能：麦克风管理、音频录制、重连机制等。
 *
 * @example
 * ```typescript
 * const recognizer = new XfyunASR({
 *   appId: 'your-app-id',
 *   apiKey: 'your-api-key',
 *   apiSecret: 'your-api-secret'
 * }, {
 *   onResult: (text) => console.log('识别结果:', text),
 *   onError: (err) => console.error('错误:', err)
 * });
 *
 * await recognizer.start();
 * recognizer.record();
 * await recognizer.stop();
 * ```
 */
export declare class XfyunASR extends BaseWebSocketClient<RecognizerState, XfyunASROptions, ASREventHandlers> {
    private recorder;
    private audioContext;
    private audioSource;
    private analyser;
    private audioDataQueue;
    private totalAudioBytes;
    private recognitionResult;
    private volumeTimer;
    private microphoneStream;
    private cachedBusinessParams;
    private reconnectCount;
    private reconnectTimer;
    private isReconnecting;
    protected readonly STATE_TRANSITIONS: Record<RecognizerState, RecognizerState[]>;
    /**
     * 创建语音识别实例
     * @param options 配置选项
     * @param handlers 事件处理程序
     */
    constructor(options: XfyunASROptions, handlers?: ASREventHandlers);
    protected getModulePrefix(): string;
    protected getErrorCodePrefix(): number;
    protected generateAuthUrl(): string;
    protected onConnected(): void;
    protected onWebSocketClosed(_event: CloseEvent): void;
    protected parseMessage(data: string | ArrayBuffer): void;
    /**
     * 设置事件处理程序
     */
    setHandlers(handlers: ASREventHandlers): void;
    /**
     * 开始语音识别
     */
    start(): Promise<void>;
    /**
     * 停止语音识别
     */
    stop(): void;
    /**
     * 销毁实例，释放所有资源
     */
    destroy(): void;
    /**
     * 获取当前识别结果
     */
    getResult(): string;
    /**
     * 清除识别结果
     */
    clearResult(): void;
    /**
     * 是否正在录音中
     */
    isRecording(): boolean;
    /**
     * 初始化麦克风
     */
    private initMicrophone;
    /**
     * 开始录音
     */
    private startRecording;
    /**
     * 释放麦克风资源
     */
    private releaseMicrophone;
    /**
     * 停止音量检测
     */
    private stopVolumeDetection;
    /**
     * 构建公共业务参数（缓存避免重复创建）
     */
    private buildBusinessParams;
    /**
     * 处理识别结果数据
     */
    private processRecognitionResult;
    /**
     * 发送开始帧
     */
    private sendStartFrame;
    /**
     * 发送音频数据
     */
    private sendAudioData;
    /**
     * 发送结束帧
     */
    private sendEndFrame;
    /**
     * 开始音量检测
     */
    private startVolumeDetection;
    /**
     * 清除重连定时器
     */
    private clearReconnectTimer;
    /**
     * 处理重连逻辑
     */
    private handleReconnect;
}
export { LogLevel, Logger } from './logger';
