import * as http from 'http';

export interface IVoiceEngine {
  attach(server: http.Server): void;
}

export interface AgentConfig {
  session_id: string;
  restaurant_id: string;
  agent_id: string | null;
  system_prompt: string | null;
  greeting_script: string | null;
  closing_script: string | null;
  voice_id: string;
  realtime_model: string;
  fallback_rules: Array<{ trigger: string; action: string; priority?: string }> | null;
  capabilities: Record<string, boolean> | null;
  vad_threshold: number | null;
  vad_prefix_padding_ms: number | null;
  vad_silence_duration_ms: number | null;
  menu_category_ids: string[] | null;
  branch_routing_mode: 'assigned' | 'ask_caller' | 'geo_detect';
}
