import type GatewayService from '@/services/GatewayService';
import type { Voice2Text, Status, PermissionResult, Result } from '@/types/index';
import type { IResultData } from '@/api/interface';
export interface VoiceToTextDeps {
    getGatewayService: () => GatewayService | null;
    stop: () => Promise<boolean>;
    setStatus: (status: Status) => void;
    emit: (event: string, data?: any) => void;
}
export declare class VoiceToTextManager {
    private deps;
    private voiceCallback;
    private asrStream;
    private asrAudioContext;
    private asrProcessor;
    constructor(deps: VoiceToTextDeps);
    startVoice2Text(callback?: (data: Voice2Text) => void): Promise<IResultData<PermissionResult>>;
    stopVoice2Text(callback?: (data: Voice2Text) => void): Promise<Result<null>>;
    dealVoice2Text(d: Voice2Text): void;
    getVoiceCallback(): ((data: Voice2Text) => void) | null;
    setVoiceCallback(callback: ((data: Voice2Text) => void) | null): void;
    destroy(): void;
}
//# sourceMappingURL=VoiceToTextManager.d.ts.map