import type { ToolDef } from "@fabric-harness/sdk"; import type { CatalogsClient } from "@databricks/sdk-uc-catalogs/v1"; import type { GrantsClient } from "@databricks/sdk-uc-grants/v1"; import type { SchemasClient } from "@databricks/sdk-uc-schemas/v1"; import type { VolumesClient } from "@databricks/sdk-uc-volumes/v1"; export interface DatabricksUnityCatalogAdminClients { catalogs: Pick; schemas: Pick; volumes: Pick; grants: Pick; } export type DatabricksSecurableType = "catalog" | "schema" | "table" | "volume" | "function" | "model"; export interface DatabricksPermissionChange { principal: string; add?: string[]; remove?: string[]; } export declare class DatabricksUnityCatalogAdmin { private readonly clients; constructor(clients: DatabricksUnityCatalogAdminClients); getPermissions(securableType: DatabricksSecurableType, fullName: string): Promise; updatePermissions(securableType: DatabricksSecurableType, fullName: string, changes: DatabricksPermissionChange[]): Promise; createCatalog(input: { name: string; comment?: string; storageRoot?: string; properties?: Record; }): Promise; createSchema(input: { catalogName: string; name: string; comment?: string; properties?: Record; }): Promise; createVolume(input: { catalogName: string; schemaName: string; name: string; volumeType?: "MANAGED" | "EXTERNAL"; storageLocation?: string; comment?: string; }): Promise; deleteCatalog(name: string, force?: boolean): Promise; deleteSchema(fullName: string, force?: boolean): Promise; deleteVolume(fullName: string): Promise; deleteManaged(kind: "catalog" | "schema" | "volume", fullName: string): Promise; } export declare function databricksUnityCatalogAdminTools(client: DatabricksUnityCatalogAdminClients, options?: { destructive?: boolean; }): ToolDef[]; //# sourceMappingURL=unity-catalog-admin.d.ts.map