export interface SourceMetadata {
  filename: string
  upload_date: string
  content_summary: string
  chunk_index: number
  page_number: number | null
  chunk_file_path: string | null
}

export interface QueryRequest {
  question: string
}

export interface QueryResponse {
  keywords: string[]
  answer: string
  sources: SourceMetadata[]
}

export interface IngestResponse {
  document_id: string
  chunk_count: number
  filename: string
}

export interface DocumentInfo {
  document_id: string
  filename: string
  chunk_count: number
  upload_date: string
}

export interface ChunkInfo {
  chunk_id: string
  chunk_index: number
  content_summary: string
  page_number: number | null
  chunk_file_path: string | null
}

export interface DocumentListResponse {
  documents: DocumentInfo[]
  total_documents: number
  total_chunks: number
}

export interface DeleteResponse {
  deleted: boolean
  message: string
}
