import { DeviceListState } from "tc-shared/audio/Recorder"; export declare type MicrophoneSetting = "volume" | "vad-type" | "ppt-key" | "ppt-release-delay" | "ppt-release-delay-active" | "threshold-threshold" | "rnnoise"; export declare type MicrophoneDevice = { id: string; name: string; driver: string; default: boolean; }; export declare type SelectedMicrophone = { type: "default"; } | { type: "none"; } | { type: "device"; deviceId: string; }; export declare type MicrophoneDevices = { status: "error"; error: string; } | { status: "audio-not-initialized"; } | { status: "no-permissions"; shouldAsk: boolean; } | { status: "success"; devices: MicrophoneDevice[]; selectedDevice: SelectedMicrophone; }; export declare type InputDeviceLevel = { status: "success"; level: number; } | { status: "uninitialized"; } | { status: "error"; message: string; }; export interface MicrophoneSettingsEvents { "query_devices": { refresh_list: boolean; }; "query_help": {}; "query_setting": { setting: MicrophoneSetting; }; "query_input_level": {}; "action_help_click": {}; "action_request_permissions": {}; "action_set_selected_device": { target: SelectedMicrophone; }; "action_set_selected_device_result": { status: "error"; reason: string; }; "action_open_processor_properties": {}; "action_set_setting": { setting: MicrophoneSetting; value: any; }; notify_setting: { setting: MicrophoneSetting; value: any; }; notify_devices: MicrophoneDevices; notify_device_selected: { device: SelectedMicrophone; }; notify_device_level: { level: { [key: string]: { deviceId: string; status: "success" | "error"; level?: number; error?: string; }; }; status: Exclude; }; notify_input_level: { level: InputDeviceLevel; }; notify_highlight: { field: "hs-0" | "hs-1" | "hs-2" | undefined; }; notify_destroy: {}; }