export interface EmbeddingProviderInfo {
  name: string
  display_name: string
  description?: string
  config_schema: Record<string, any>
}

export interface EmbeddingConfig {
  provider: string
  config: Record<string, any>
  updated_at?: string
}

export interface EmbeddingConfigUpdate {
  provider: string
  config?: Record<string, any>
}

export interface EmbeddingTestResult {
  success: boolean
  dimension: number
  latency_ms?: number
  message?: string
  error?: string
}

export interface DocumentFormat {
  extension: string
  name: string
  description?: string
}

export interface EmbeddingProvidersResponse {
  providers: EmbeddingProviderInfo[]
}

export interface EmbeddingConfigUpdateResponse {
  success: boolean
  message: string
}

export interface SupportedFormatsResponse {
  formats: DocumentFormat[]
}

export interface EmbeddingTestRequest {
  test_text?: string
  config?: EmbeddingConfigUpdate
}
