import type { DictationConfig, RecordingState, ServerConfig } from './types.js';
export declare class RecorderManager extends EventTarget {
    devices: MediaDeviceInfo[];
    selectedDevice: MediaDeviceInfo | undefined;
    recordingState: RecordingState;
    private _mediaStream;
    private _audioService;
    private _dictationService;
    private _visualiserInterval?;
    constructor();
    initialize(): Promise<{
        devices: MediaDeviceInfo[];
        selectedDevice: MediaDeviceInfo | undefined;
    }>;
    private dispatchCustomEvent;
    private handleDevicesChange;
    startRecording(params: {
        dictationConfig: DictationConfig;
        serverConfig: ServerConfig;
        debug_displayAudio?: boolean;
    }): Promise<void>;
    stopRecording(): Promise<void>;
    private _updateRecordingState;
}
