export interface DatabricksCommandResult { exitCode: number; stdout: string; stderr: string; } export type DatabricksCommandRunner = (command: string, args: readonly string[], options: { cwd: string; env: NodeJS.ProcessEnv; }) => Promise; export interface DeployDatabricksAppArtifactOptions { /** Immutable Fabric Harness `databricks-app` build directory. */ artifactDir: string; /** Databricks CLI profile. App identity/environment auth is used when omitted. */ profile?: string; /** Asset Bundle target selected by the governed release environment. */ target?: string; /** Databricks CLI executable; defaults to `databricks`. */ executable?: string; env?: NodeJS.ProcessEnv; /** Injectable command boundary for tests and managed runners. */ run?: DatabricksCommandRunner; onCommand?: (command: { executable: string; args: readonly string[]; }) => void; /** Explicit Databricks App resource to activate after bundle synchronization. */ appName?: string; /** Bundle-synchronized workspace source path used for snapshot activation. */ sourceCodePath?: string; /** App deployment mode; Databricks Apps currently supports SNAPSHOT here. */ mode?: "SNAPSHOT"; /** Start stopped App compute before activating the snapshot. */ startBeforeDeploy?: boolean; } export interface DeployDatabricksAppArtifactResult { bundleSynchronized: true; appSnapshotActivated: true; bundleOutput: string; appOutput: string; } export interface ValidateDatabricksAppArtifactOptions { artifactDir: string; profile?: string; target?: string; executable?: string; env?: NodeJS.ProcessEnv; run?: DatabricksCommandRunner; onCommand?: (command: { executable: string; args: readonly string[]; }) => void; } export interface ValidateDatabricksAppArtifactResult { valid: true; output: string; } export interface DestroyDatabricksAppArtifactOptions extends ValidateDatabricksAppArtifactOptions { } export interface DestroyDatabricksAppArtifactResult { destroyed: true; output: string; } /** Validate an already-built Databricks App artifact without mutating the workspace. */ export declare function validateDatabricksAppArtifact(options: ValidateDatabricksAppArtifactOptions): Promise; /** * Deploy an already-built Fabric Harness Databricks App artifact. * * This is the programmatic counterpart of `fh deploy --target databricks-app`. * It intentionally does not rebuild the artifact: release orchestrators can verify * the immutable digest first, then use this function for the Databricks side effect. */ export declare function deployDatabricksAppArtifact(options: DeployDatabricksAppArtifactOptions): Promise; /** Destroy only resources declared by an already-built Databricks App bundle. */ export declare function destroyDatabricksAppArtifact(options: DestroyDatabricksAppArtifactOptions): Promise; export declare function runDatabricksCommand(command: string, args: readonly string[], options: { cwd: string; env: NodeJS.ProcessEnv; }): Promise; //# sourceMappingURL=app-deployment.d.ts.map