export type KbxHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' export type KbxApiOperationKind = 'query' | 'command' | 'upload' export type KbxIdempotencyPolicy = 'none' | 'supported' | 'required' export interface KbxApiOperationDefinition { id: string method: KbxHttpMethod path: string permission?: string | null kind: KbxApiOperationKind idempotency: KbxIdempotencyPolicy successStatuses: readonly number[] contentType?: string responseType?: 'json' | 'blob' } export interface KbxApiRequestOptions { path?: Record query?: object body?: TBody headers?: Record idempotencyKey?: string responseType?: 'json' | 'blob' }