export type InterviewPhase = 'scoping' | 'discovery' | 'enrichment' | 'review' | 'generation'

export interface ChatMessage {
  role: 'user' | 'assistant'
  content: string
  timestamp: string
}

export interface AIChatStartResponse {
  session_id: string
  greeting: string
  current_phase: InterviewPhase
}

export interface AIChatMessageResponse {
  content: string
  current_phase: InterviewPhase
  working_tree: Record<string, unknown> | null
  tree_metadata: Record<string, unknown> | null
}

export interface AIChatSessionResponse {
  session_id: string
  status: 'active' | 'completed' | 'abandoned'
  current_phase: InterviewPhase
  flow_type: 'troubleshooting' | 'procedural'
  conversation_history: ChatMessage[]
  working_tree: Record<string, unknown> | null
  tree_metadata: Record<string, unknown> | null
  message_count: number
  generated_tree: Record<string, unknown> | null
}

export interface AIChatGenerateResponse {
  tree_structure: Record<string, unknown>
  tree_metadata: Record<string, unknown>
  status: string
}

export interface AIChatImportResponse {
  tree_id: string
  tree_type: string
}
