import type { StartOptions, StepActionInstruction, StepHookAction, StepParameters, TargetEventHandler } from "../types"; import type { StepProps, WorkflowDefinition, WorkflowStepDefinition } from "./types"; export interface WorkflowStepDraft { id: string; target: StepParameters["target"]; props: StepProps; actions: StepActionInstruction[]; targetEvents: TargetEventHandler[]; beforeEnter: StepHookAction | null; beforeLeave: StepHookAction | null; } /** * Creates a mutable copy of a workflow step definition. * @param definition The step definition to clone. * @returns A mutable copy that can be further modified. */ export declare function cloneWorkflowStepDraft(definition: WorkflowStepDefinition | WorkflowStepDraft): WorkflowStepDraft; /** * Creates a frozen workflow definition from a name, options, and step drafts. * @param name The workflow name. * @param options Tour start options and lifecycle hooks. * @param drafts The workflow steps. * @returns A frozen workflow definition ready to run. */ export declare function createWorkflowDefinition(name: string, options: StartOptions, drafts: readonly WorkflowStepDraft[]): WorkflowDefinition;