import { NestedData, WorkflowDefinition } from '../types.js'; /** * The step after `current` given the data: a form_name or 'end'. Rules run * (via evaluate) to decide visibility; hidden targets pass through, cycles * of invisible forms end the walk. `visibility` lets a caller that already * ran the rules (walkPath — data never changes during a walk) skip the * per-hop evaluate() fixpoint. */ export declare function resolveNext(workflow: WorkflowDefinition, current: string, data: NestedData, visibility?: ReadonlySet): string; /** * The full path a submission takes from the start form to 'end' under this * data — what the server validates against (off-path forms are as good as * skipped). Back-edges that revisit a form stop the walk instead of looping. */ export declare function walkPath(workflow: WorkflowDefinition, data: NestedData): string[];