import type { LakebaseClient } from "./lakebase.js"; export interface DatabricksManagedResourceRecord { resourceType: string; resourceId: string; fingerprint: string; createdBy: string; toolCallId: string; createdAt: string; updatedAt: string; metadata?: Record; } export interface DatabricksManagedResourceStore { get(resourceType: string, resourceId: string): Promise; put(record: DatabricksManagedResourceRecord): Promise; delete(resourceType: string, resourceId: string): Promise; list(resourceType?: string): Promise; } export declare class DatabricksManagedResourceConflictError extends Error { readonly resourceType: string; readonly resourceId: string; readonly expectedFingerprint: string; readonly actualFingerprint: string; constructor(input: { resourceType: string; resourceId: string; expectedFingerprint: string; actualFingerprint: string; }); } export declare class DatabricksUnmanagedResourceError extends Error { readonly resourceType: string; readonly resourceId: string; constructor(resourceType: string, resourceId: string); } /** In-process store for tests and single-process development. Production callers should inject persistence. */ export declare class MemoryDatabricksManagedResourceStore implements DatabricksManagedResourceStore { private readonly records; get(resourceType: string, resourceId: string): Promise; put(record: DatabricksManagedResourceRecord): Promise; delete(resourceType: string, resourceId: string): Promise; list(resourceType?: string): Promise; } export interface LakebaseDatabricksManagedResourceStoreOptions { client: LakebaseClient; /** SQL table name. Identifiers only; defaults to `fabric_harness_managed_resources`. */ table?: string; } /** Durable managed-resource manifest backed by Lakebase or ordinary PostgreSQL. */ export declare class LakebaseDatabricksManagedResourceStore implements DatabricksManagedResourceStore { private readonly options; private readonly table; private initialized; constructor(options: LakebaseDatabricksManagedResourceStoreOptions); get(resourceType: string, resourceId: string): Promise; put(record: DatabricksManagedResourceRecord): Promise; delete(resourceType: string, resourceId: string): Promise; list(resourceType?: string): Promise; private ensureTable; } export declare function databricksResourceFingerprint(value: unknown): Promise; export declare function requireDatabricksManagedResource(input: { store: DatabricksManagedResourceStore; resourceType: string; resourceId: string; expectedFingerprint?: string; }): Promise; //# sourceMappingURL=managed-resource.d.ts.map