import type { Corti, CortiAuth } from "@corti/sdk";
import { type CSSResultGroup, LitElement, type PropertyValues } from "lit";
import type { ProxyOptions, RecordingState } from "../types.js";
import "./audio-visualiser.js";
import "../icons/icons.js";
export declare class DictationRecordingButton extends LitElement {
    #private;
    _recordingState: RecordingState;
    _selectedDevice?: MediaDeviceInfo;
    _accessToken?: string;
    _authConfig?: CortiAuth.AuthTokenDerivable;
    _region?: string;
    _tenantName?: string;
    _dictationConfig?: Corti.TranscribeConfig;
    _socketUrl?: string;
    _socketProxy?: ProxyOptions;
    _debug_displayAudio?: boolean;
    _pushToTalkKeybinding?: string | null;
    _toggleToTalkKeybinding?: string | null;
    allowButtonFocus: boolean;
    static styles: CSSResultGroup;
    protected update(changedProperties: PropertyValues): void;
    startRecording(): void;
    stopRecording(): void;
    toggleRecording(): void;
    openConnection(): Promise<void>;
    closeConnection(): Promise<void>;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        "dictation-recording-button": DictationRecordingButton;
    }
}
