// This file is auto-generated by @hey-api/openapi-ts

export type ClientOptions = {
  baseUrl: `${string}://${string}/console/api` | (string & {})
}

export type AllowedExtensionsResponse = {
  allowed_extensions: Array<string>
}

export type UploadConfig = {
  attachment_image_file_size_limit?: number | null
  audio_file_size_limit: number
  batch_count_limit: number
  file_size_limit: number
  file_upload_limit?: number | null
  image_file_batch_limit: number
  image_file_size_limit: number
  single_chunk_attachment_limit: number
  video_file_size_limit: number
  workflow_file_upload_limit: number
}

export type FileResponse = {
  conversation_id?: string | null
  created_at?: number | null
  created_by?: string | null
  extension?: string | null
  file_key?: string | null
  id: string
  mime_type?: string | null
  name: string
  original_url?: string | null
  preview_url?: string | null
  size: number
  source_url?: string | null
  tenant_id?: string | null
  user_id?: string | null
}

export type TextContentResponse = {
  content: string
}

export type GetFilesSupportTypeData = {
  body?: never
  path?: never
  query?: never
  url: '/files/support-type'
}

export type GetFilesSupportTypeResponses = {
  200: AllowedExtensionsResponse
}

export type GetFilesSupportTypeResponse
  = GetFilesSupportTypeResponses[keyof GetFilesSupportTypeResponses]

export type GetFilesUploadData = {
  body?: never
  path?: never
  query?: never
  url: '/files/upload'
}

export type GetFilesUploadResponses = {
  200: UploadConfig
}

export type GetFilesUploadResponse = GetFilesUploadResponses[keyof GetFilesUploadResponses]

export type PostFilesUploadData = {
  body?: never
  path?: never
  query?: never
  url: '/files/upload'
}

export type PostFilesUploadResponses = {
  201: FileResponse
}

export type PostFilesUploadResponse = PostFilesUploadResponses[keyof PostFilesUploadResponses]

export type GetFilesByFileIdPreviewData = {
  body?: never
  path: {
    file_id: string
  }
  query?: never
  url: '/files/{file_id}/preview'
}

export type GetFilesByFileIdPreviewResponses = {
  200: TextContentResponse
}

export type GetFilesByFileIdPreviewResponse
  = GetFilesByFileIdPreviewResponses[keyof GetFilesByFileIdPreviewResponses]
