import type { ModelMetadata, ModelProvider } from "@fabric-harness/sdk"; export type DatabricksInferenceMode = "auto" | "ai-gateway" | "serving-endpoints"; export type DatabricksRequestTags = Record | (() => Record | Promise>); export interface DatabricksModelOptions { /** Workspace host, e.g. https://adb-1234567890.0.cloud.databricks.com. */ host: string; /** * Bearer token, or a resolver awaited per request. Pass a resolver for OAuth principal tokens * (service-principal / on-behalf-of) so long-lived agents don't pin a stale token. */ token: string | (() => string | Promise); /** Serving endpoint or fully-qualified Unity AI Gateway model service. */ defaultModel?: string; /** Select routing explicitly. `auto` sends `system.ai.*` through Unity AI Gateway. */ mode?: DatabricksInferenceMode; /** Explicit OpenAI-compatible base URL. Overrides `mode` URL construction. */ baseUrl?: string; headers?: Record | (() => Record | Promise>); /** Tags recorded by Unity AI Gateway usage and inference tables. */ requestTags?: DatabricksRequestTags; /** Optional model metadata used by context budgeting and operator UIs. */ modelMetadata?: Record>; /** Fetch implementation for tests or controlled private-network transports. */ fetchImpl?: typeof fetch; } /** Build the OpenAI-compatible base URL used for one Databricks inference mode. */ export declare function databricksModelBaseUrl(host: string, mode: Exclude): string; /** True for Unity Catalog model-service identifiers accepted by Unity AI Gateway. */ export declare function isDatabricksModelService(model: string | undefined): boolean; /** * Databricks inference provider supporting both Unity AI Gateway model services and custom * Model Serving endpoints. In `auto` mode, fully-qualified `system.ai.*` models use AI Gateway and * other endpoint names retain the `/serving-endpoints` route. */ export declare function databricksFoundationModelProvider(options: DatabricksModelOptions): ModelProvider; /** Register `databricks/` model references. */ export declare function registerDatabricksModelProvider(): void; //# sourceMappingURL=model.d.ts.map