import type { OpenClawConfig } from "../config/types.openclaw.js"; export type RealtimeTranscriptionProviderId = string; export type RealtimeTranscriptionProviderConfig = Record; export type RealtimeTranscriptionProviderResolveConfigContext = { cfg: OpenClawConfig; rawConfig: RealtimeTranscriptionProviderConfig; }; export type RealtimeTranscriptionProviderConfiguredContext = { cfg?: OpenClawConfig; providerConfig: RealtimeTranscriptionProviderConfig; }; export type RealtimeTranscriptionSessionCallbacks = { onPartial?: (partial: string) => void; onTranscript?: (transcript: string) => void; onSpeechStart?: () => void; onError?: (error: Error) => void; }; export type RealtimeTranscriptionSessionCreateRequest = RealtimeTranscriptionSessionCallbacks & { providerConfig: RealtimeTranscriptionProviderConfig; }; export type RealtimeTranscriptionSession = { connect(): Promise; sendAudio(audio: Buffer): void; close(): void; isConnected(): boolean; };