import type { Voice } from '@iblai/iblai-api';
export type CallConfigurationMode = 'realtime' | 'inference';
export type TtsProvider = 'openai' | 'google' | 'elevenlabs' | 'azure_openai';
export type SttProvider = 'openai' | 'google' | 'deepgram' | 'cartesia' | 'azure_openai';
export type LlmProvider = 'openai' | 'google' | 'azure_openai';
export interface CallConfiguration {
    id: number;
    mentor: string;
    mode?: CallConfigurationMode;
    tts_provider?: TtsProvider;
    stt_provider?: SttProvider;
    llm_provider?: LlmProvider;
    language?: string;
    use_function_calling_for_rag?: boolean;
    google_voice?: Voice;
    openai_voice?: Voice;
    openai_voice_id?: number | null;
    google_voice_id?: number | null;
    enable_video?: boolean;
    screensharing_system_prompt?: string;
    screensharing_proactive_prompt?: string;
    platform_key?: string;
}
export type CallConfigurationRequest = Partial<Omit<CallConfiguration, 'id' | 'platform_key'>>;
export interface ListCallConfigurationsArgs {
    org: string;
    userId: string;
    mentor?: string;
    mode?: CallConfigurationMode;
    search?: string;
}
export interface GetCallConfigurationArgs {
    org: string;
    userId: string;
    id: number;
}
export interface CreateCallConfigurationArgs {
    org: string;
    userId: string;
    requestBody: CallConfigurationRequest & {
        mentor: string;
    };
}
export interface UpdateCallConfigurationArgs {
    org: string;
    userId: string;
    id: number;
    requestBody: CallConfigurationRequest;
}
