import type { ModelServingClient } from "@databricks/sdk-modelserving/v1"; import type { ToolDef } from "@fabric-harness/sdk"; export type DatabricksServingAdminClient = Pick; export interface DatabricksCustomModelEntity { name: string; entityName: string; entityVersion: string; workloadSize: "Small" | "Medium" | "Large"; scaleToZeroEnabled?: boolean; environmentVars?: Record; } export interface DatabricksProvisionedThroughputEntity { name: string; entityName: string; entityVersion: string; provisionedModelUnits: number; burstScalingEnabled?: boolean; } export interface DatabricksExternalModelEntity { name: string; modelName: string; provider: string; task: string; } export interface DatabricksAgentEntity { name: string; entityName: string; entityVersion?: string; workloadSize?: "Small" | "Medium" | "Large"; scaleToZeroEnabled?: boolean; } export type DatabricksServingEndpointSpec = { kind: "customModel"; name: string; servedEntities: DatabricksCustomModelEntity[]; tags?: Record; } | { kind: "foundationModel"; name: string; servedEntities: DatabricksProvisionedThroughputEntity[]; tags?: Record; } | { kind: "externalModel"; name: string; servedEntities: DatabricksExternalModelEntity[]; tags?: Record; } | { kind: "agent"; name: string; servedEntities: DatabricksAgentEntity[]; tags?: Record; }; export interface DatabricksAiGatewayUpdate { rateLimits?: Array<{ calls?: number; tokens?: number; key?: string; renewalPeriod?: string; principal?: string; }>; guardrails?: { input?: { safety?: boolean; validTopics?: string[]; invalidKeywords?: string[]; }; output?: { safety?: boolean; validTopics?: string[]; invalidKeywords?: string[]; }; }; inferenceTableConfig?: { catalogName?: string; schemaName?: string; tableNamePrefix?: string; enabled?: boolean; }; usageTrackingConfig?: { enabled?: boolean; }; fallbackEnabled?: boolean; } export declare class DatabricksServingAdmin { private readonly client; constructor(client: DatabricksServingAdminClient); createEndpoint(spec: DatabricksServingEndpointSpec): Promise; getEndpoint(name: string): Promise>; updateEndpoint(name: string, servedEntities: DatabricksServingEndpointSpec["servedEntities"]): Promise; updateAiGateway(name: string, update: DatabricksAiGatewayUpdate): Promise; deleteEndpoint(name: string): Promise; waitForEndpoint(name: string, options?: { timeoutMs?: number; pollIntervalMs?: number; signal?: AbortSignal; }): Promise>; } export declare function databricksServingAdminTools(client: DatabricksServingAdminClient): ToolDef[]; //# sourceMappingURL=serving-admin.d.ts.map