import { WorkflowClient } from "../client.js"; import type { DeclarativeFlow, DeployResult, Workflow } from "../types.js"; /** A derived flow, or the derived BPMN XML directly. */ export type DerivedInput = DeclarativeFlow | string; /** Derive `derived`'s BPMN, normalize it and the golden at `goldenBpmnPath`, and * assert structural equality. Throws with a legible structural diff on * mismatch. Returns silently on parity. */ export declare function assertDerivationParity(derived: DerivedInput, goldenBpmnPath: string): void; /** Options for {@link deploySmoke}. Supply a pre-built `client`, a `baseUrl` * (a client is built for you), or rely on the `WORKFLOW_GATEWAY_URL` env var. */ export interface DeploySmokeOptions { client?: WorkflowClient; baseUrl?: string; token?: string; transport?: "auto" | "falcon" | "rest"; } /** The outcome of a {@link deploySmoke}: either a completed deployment, or a * skip because no engine was reachable. */ export interface DeploySmokeResult { deployed: boolean; skipped: boolean; reason?: string; result?: DeployResult; } /** Deploy `model` to the engine and assert the deployment is accepted. Resolves * a skip (never throws) when no engine is reachable, so it is safe to call in * unit-only CI; it throws only when a reachable engine REJECTS the model. */ export declare function deploySmoke(model: Workflow, opts?: DeploySmokeOptions): Promise;