/**
 * 科大讯飞翻译模块
 * @description 支持语音翻译（边说边译）和文本翻译
 */
import { BaseWebSocketClient } from './base-websocket-client';
import type { TranslatorType, SourceLanguage, TargetLanguage, TranslatorState, TranslatorError, TranslationResult, TranslatorEventHandlers, XfyunTranslatorOptions } from './types';
export type { TranslatorType, SourceLanguage, TargetLanguage, TranslatorState, TranslatorError, TranslationResult, TranslatorEventHandlers, XfyunTranslatorOptions, };
/**
 * 科大讯飞翻译类
 *
 * 继承 BaseWebSocketClient，复用 WebSocket 连接管理、状态管理、错误处理等通用逻辑。
 * 专注于语音/文本翻译特有的功能：多语言支持、实时翻译结果、翻译模式切换等。
 *
 * @example
 * ```typescript
 * const translator = new XfyunTranslator({
 *   appId: 'your-app-id',
 *   apiKey: 'your-api-key',
 *   apiSecret: 'your-api-secret',
 *   type: 'asr',
 *   from: 'cn',
 *   to: 'en'
 * }, {
 *   onResult: (result) => console.log('翻译结果:', result),
 *   onError: (err) => console.error('错误:', err)
 * });
 *
 * await translator.start();
 * translator.record();
 * await translator.stop();
 * ```
 */
export declare class XfyunTranslator extends BaseWebSocketClient<TranslatorState, XfyunTranslatorOptions, TranslatorEventHandlers> {
    static translateText: (text: string, options: XfyunTranslatorOptions) => Promise<TranslationResult>;
    private microphoneStream;
    private audioContext;
    private recorder;
    private audioDataQueue;
    protected readonly STATE_TRANSITIONS: Record<TranslatorState, TranslatorState[]>;
    /**
     * 创建翻译器实例
     * @param options 配置选项
     * @param handlers 事件处理程序
     */
    constructor(options: XfyunTranslatorOptions, handlers?: TranslatorEventHandlers);
    protected getModulePrefix(): string;
    protected getErrorCodePrefix(): number;
    protected generateAuthUrl(): string;
    protected onConnected(): void;
    protected parseMessage(data: string | ArrayBuffer): void;
    /**
     * 设置事件处理程序
     */
    setHandlers(handlers: TranslatorEventHandlers): void;
    /**
     * 开始翻译
     * @param text 文本翻译的文本（语音翻译模式可省略）
     */
    start(text?: string): Promise<void>;
    /**
     * 停止翻译
     */
    stop(): void;
    /**
     * 销毁实例
     */
    destroy(): void;
    /**
     * 清理所有录音相关资源
     */
    private cleanupRecordingResources;
    /**
     * 文本翻译
     */
    private startTextTranslation;
    /**
     * 语音翻译
     */
    private startSpeechTranslation;
    /**
     * 初始化录音器
     */
    private initRecorder;
    /**
     * 停止录音
     */
    private stopRecorder;
    /**
     * 释放麦克风
     */
    private releaseMicrophone;
    /**
     * 发送文本翻译帧
     */
    private sendTextFrame;
    /**
     * 发送语音翻译开始帧
     */
    private sendStartFrame;
    /**
     * 发送音频数据
     */
    private sendAudioData;
    /**
     * 发送翻译结束帧
     */
    private sendTranslationEndFrame;
}
