import { type DatabricksPrincipal } from "./identity.js"; export type DatabricksWorkspaceApiMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; export interface DatabricksWorkspaceApiOptions { host: string; principal: DatabricksPrincipal; fetchImpl?: typeof fetch; maxRetries?: number; retryBaseDelayMs?: number; signal?: AbortSignal; extraHeaders?: Record | (() => Record | Promise>); } export interface DatabricksWorkspaceApiRequestOptions { /** JSON value by default, or a native fetch body when `bodyEncoding` is `raw`. */ body?: unknown; bodyEncoding?: "json" | "raw"; query?: Record; signal?: AbortSignal; /** * Reads retry transient failures automatically. Mutations retry only when explicitly marked * idempotent and accompanied by a stable idempotency key. */ retry?: "safe" | "idempotent" | "never"; idempotencyKey?: string; maxRetries?: number; headers?: Record; } /** * Credential-safe native Databricks REST escape hatch. * * Prefer the generated clients from {@link databricksSdk} when one exists. This client preserves * access to newly released or uncommon Databricks APIs without waiting for a Harness wrapper. It is * deliberately not a model tool: applications must validate requests and place governed mutations * behind their own explicit tool/action boundary. */ export interface DatabricksWorkspaceApi { request(method: DatabricksWorkspaceApiMethod, path: string, options?: DatabricksWorkspaceApiRequestOptions): Promise; requestRaw(method: DatabricksWorkspaceApiMethod, path: string, options?: DatabricksWorkspaceApiRequestOptions): Promise; } export declare function databricksWorkspaceApi(options: DatabricksWorkspaceApiOptions): DatabricksWorkspaceApi; //# sourceMappingURL=workspace-api.d.ts.map