UNPKG

@corti/dictation-web

Version:
36 lines (35 loc) 1.67 kB
import { type Corti, type CortiAuth } 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?: CortiAuth.AuthTokenDerivable; _region?: string; _tenantName?: string; _socketUrl?: string; _socketProxy?: ProxyOptions; _dictationConfig?: Corti.TranscribeConfig; } export type TranscribeMessage = Corti.TranscribeConfigStatusMessage | Corti.TranscribeUsageMessage | Corti.TranscribeDeltaUsageMessage | 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<boolean | "superseded">; mediaRecorderHandler: (data: Blob) => void; pause(): Promise<void>; isConnectionOpen(): boolean; isConnecting(): boolean; waitForConnection(): Promise<void>; closeConnection(onClose?: (event: unknown) => void): Promise<void>; cleanup(): void; } export {};