import type { MappingConfig } from '../mapping.js'; import type { Predicate } from '../predicate.js'; import type { FlowDefinition, FlowNodeDefinition, TransitionRef } from '../types.js'; export declare function nodePath(index: number): string; export interface NodeLocation { index: number; path: string; node: FlowNodeDefinition; } export interface TransitionVisit { path: string; nodeId: string; nodeIndex: number; ref: TransitionRef; } export interface PredicateVisit { path: string; nodeId: string; nodeIndex: number; predicate: Predicate; } export interface TemplateVisit { path: string; nodeId: string; nodeIndex: number; template: string; } export interface MappingVisit { path: string; nodeId: string; nodeIndex: number; config: MappingConfig; } export interface ChoiceFlowVisit { path: string; nodeId: string; nodeIndex: number; flowId: string; } export interface FlowWalk { nodes: NodeLocation[]; byId: Map; transitions: TransitionVisit[]; predicates: PredicateVisit[]; templates: TemplateVisit[]; mappings: MappingVisit[]; choiceFlows: ChoiceFlowVisit[]; } export declare function walkFlowDefinition(def: FlowDefinition): FlowWalk; export declare function gotoTarget(ref: TransitionRef): string | undefined; export declare function handoffTarget(ref: TransitionRef): string | undefined;