import type { FasedAgentConfig } from "../config/config.js";
export type RealtimeTranscriptionProviderId = string;
export type RealtimeTranscriptionProviderConfig = Record<string, unknown>;
export type RealtimeTranscriptionProviderResolveConfigContext = {
    cfg: FasedAgentConfig;
    rawConfig: RealtimeTranscriptionProviderConfig;
};
export type RealtimeTranscriptionProviderConfiguredContext = {
    cfg?: FasedAgentConfig;
    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<void>;
    sendAudio(audio: Buffer): void;
    close(): void;
    isConnected(): boolean;
};
