export interface AIQuotaStatus {
  plan: string
  monthly_used: number
  monthly_limit: number | null
  monthly_reset_at: string
  daily_used: number
  daily_limit: number | null
  daily_reset_at: string
  allowed: boolean
  ai_enabled: boolean
}

export interface AIBranch {
  name: string
  description: string
  steps?: Record<string, unknown>
  isCustom?: boolean
}

export interface AITreeSummary {
  node_count: number
  decision_count: number
  action_count: number
  solution_count: number
  depth: number
}

export interface AIStartResponse {
  conversation_id: string
  status: string
}

export interface AIScaffoldResponse {
  conversation_id: string
  branches: Array<{ name: string; description: string }>
  status: string
}

export interface AIBranchDetailResponse {
  conversation_id: string
  branch_name: string
  steps: Record<string, unknown>
  status: string
}

export interface AIAssembleResponse {
  tree_structure: Record<string, unknown>
  suggested_name: string
  suggested_description: string
  summary: AITreeSummary
  status: string
}

export type AIWizardPhase =
  | 'foundation'
  | 'scaffolding'
  | 'detailing'
  | 'reviewing'
  | 'generating'
  | 'error'
