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

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

export type DatasourceCredentialPayload = {
  credentials: {
    [key: string]: unknown
  }
  name?: string | null
}

export type SimpleResultResponse = {
  result: string
}

export type DatasourceCustomClientPayload = {
  client_params?: {
    [key: string]: unknown
  } | null
  enable_oauth_custom_client?: boolean | null
}

export type DatasourceDefaultPayload = {
  id: string
}

export type DatasourceCredentialDeletePayload = {
  credential_id: string
}

export type DatasourceCredentialUpdatePayload = {
  credential_id: string
  credentials?: {
    [key: string]: unknown
  } | null
  name?: string | null
}

export type DatasourceUpdateNamePayload = {
  credential_id: string
  name: string
}

export type GetAuthPluginDatasourceDefaultListData = {
  body?: never
  path?: never
  query?: never
  url: '/auth/plugin/datasource/default-list'
}

export type GetAuthPluginDatasourceDefaultListResponses = {
  200: {
    [key: string]: unknown
  }
}

export type GetAuthPluginDatasourceDefaultListResponse
  = GetAuthPluginDatasourceDefaultListResponses[keyof GetAuthPluginDatasourceDefaultListResponses]

export type GetAuthPluginDatasourceListData = {
  body?: never
  path?: never
  query?: never
  url: '/auth/plugin/datasource/list'
}

export type GetAuthPluginDatasourceListResponses = {
  200: {
    [key: string]: unknown
  }
}

export type GetAuthPluginDatasourceListResponse
  = GetAuthPluginDatasourceListResponses[keyof GetAuthPluginDatasourceListResponses]

export type GetAuthPluginDatasourceByProviderIdData = {
  body?: never
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}'
}

export type GetAuthPluginDatasourceByProviderIdResponses = {
  200: {
    [key: string]: unknown
  }
}

export type GetAuthPluginDatasourceByProviderIdResponse
  = GetAuthPluginDatasourceByProviderIdResponses[keyof GetAuthPluginDatasourceByProviderIdResponses]

export type PostAuthPluginDatasourceByProviderIdData = {
  body: DatasourceCredentialPayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}'
}

export type PostAuthPluginDatasourceByProviderIdResponses = {
  200: {
    [key: string]: unknown
  }
}

export type PostAuthPluginDatasourceByProviderIdResponse
  = PostAuthPluginDatasourceByProviderIdResponses[keyof PostAuthPluginDatasourceByProviderIdResponses]

export type DeleteAuthPluginDatasourceByProviderIdCustomClientData = {
  body?: never
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/custom-client'
}

export type DeleteAuthPluginDatasourceByProviderIdCustomClientResponses = {
  200: SimpleResultResponse
}

export type DeleteAuthPluginDatasourceByProviderIdCustomClientResponse
  = DeleteAuthPluginDatasourceByProviderIdCustomClientResponses[keyof DeleteAuthPluginDatasourceByProviderIdCustomClientResponses]

export type PostAuthPluginDatasourceByProviderIdCustomClientData = {
  body: DatasourceCustomClientPayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/custom-client'
}

export type PostAuthPluginDatasourceByProviderIdCustomClientResponses = {
  200: {
    [key: string]: unknown
  }
}

export type PostAuthPluginDatasourceByProviderIdCustomClientResponse
  = PostAuthPluginDatasourceByProviderIdCustomClientResponses[keyof PostAuthPluginDatasourceByProviderIdCustomClientResponses]

export type PostAuthPluginDatasourceByProviderIdDefaultData = {
  body: DatasourceDefaultPayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/default'
}

export type PostAuthPluginDatasourceByProviderIdDefaultResponses = {
  200: SimpleResultResponse
}

export type PostAuthPluginDatasourceByProviderIdDefaultResponse
  = PostAuthPluginDatasourceByProviderIdDefaultResponses[keyof PostAuthPluginDatasourceByProviderIdDefaultResponses]

export type PostAuthPluginDatasourceByProviderIdDeleteData = {
  body: DatasourceCredentialDeletePayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/delete'
}

export type PostAuthPluginDatasourceByProviderIdDeleteResponses = {
  200: SimpleResultResponse
}

export type PostAuthPluginDatasourceByProviderIdDeleteResponse
  = PostAuthPluginDatasourceByProviderIdDeleteResponses[keyof PostAuthPluginDatasourceByProviderIdDeleteResponses]

export type PostAuthPluginDatasourceByProviderIdUpdateData = {
  body: DatasourceCredentialUpdatePayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/update'
}

export type PostAuthPluginDatasourceByProviderIdUpdateResponses = {
  200: {
    [key: string]: unknown
  }
}

export type PostAuthPluginDatasourceByProviderIdUpdateResponse
  = PostAuthPluginDatasourceByProviderIdUpdateResponses[keyof PostAuthPluginDatasourceByProviderIdUpdateResponses]

export type PostAuthPluginDatasourceByProviderIdUpdateNameData = {
  body: DatasourceUpdateNamePayload
  path: {
    provider_id: string
  }
  query?: never
  url: '/auth/plugin/datasource/{provider_id}/update-name'
}

export type PostAuthPluginDatasourceByProviderIdUpdateNameResponses = {
  200: SimpleResultResponse
}

export type PostAuthPluginDatasourceByProviderIdUpdateNameResponse
  = PostAuthPluginDatasourceByProviderIdUpdateNameResponses[keyof PostAuthPluginDatasourceByProviderIdUpdateNameResponses]
