import { type Corti } from "@corti/sdk"; import type { ReactiveController, ReactiveControllerHost } from "lit"; import type { ProxyOptions } from "../types.js"; interface DictationControllerHost extends ReactiveControllerHost { dispatchEvent: (event: Event) => void; _accessToken?: string; _authConfig?: Corti.BearerOptions; _region?: string; _tenantName?: string; _socketUrl?: string; _socketProxy?: ProxyOptions; _dictationConfig?: Corti.TranscribeConfig; } export type TranscribeMessage = Corti.TranscribeConfigStatusMessage | Corti.TranscribeUsageMessage | Corti.TranscribeEndedMessage | Corti.TranscribeErrorMessage | Corti.TranscribeTranscriptMessage | Corti.TranscribeCommandMessage | Corti.TranscribeFlushedMessage; interface WebSocketCallbacks { onMessage?: (message: TranscribeMessage) => void; onError?: (error: Error) => void; onClose?: (event: unknown) => void; onNetworkActivity?: (direction: "sent" | "received", data: unknown) => void; } export declare class DictationController implements ReactiveController { #private; host: DictationControllerHost; constructor(host: DictationControllerHost); hostDisconnected(): void; connect(dictationConfig?: Corti.TranscribeConfig, callbacks?: WebSocketCallbacks): Promise; mediaRecorderHandler: (data: Blob) => void; pause(): Promise; isConnectionOpen(): boolean; isConnecting(): boolean; waitForConnection(): Promise; closeConnection(onClose?: (event: unknown) => void): Promise; cleanup(): void; } export {};