import { ConditionalFunc, Edge, SimpleMachineConfig } from "./types.js"; import { StatelogClient } from "../statelogClient.js"; export declare class GoToNode { to: string; data: T; constructor(to: string, data: T); } export declare function goToNode(to: string, data: T): GoToNode; export declare class SimpleMachine { private nodes; private edges; private config; private statelogClient; constructor(config?: SimpleMachineConfig); node(id: string, func: (data: T) => Promise>): void; edge(from: string, to: string): void; conditionalEdge(from: string, adjacentNodes: readonly Adjacent[], to?: ConditionalFunc): void; debug(message: string, data?: T): void; run(startId: string, input: T, options?: { onNodeEnter?: (id: string) => void; statelogClient?: StatelogClient; }): Promise; runAndValidate(nodeFunc: (data: T) => Promise>, currentId: string, _data: T, retries?: number): Promise>; prettyPrint(): void; prettyPrintEdge(edge: Edge): string; toMermaid(): string; merge(another: SimpleMachine): void; toJSON(): { nodes: string[]; edges: Record; config: { debug: { log?: boolean; logData?: boolean; } | undefined; }; }; private validateGoToNodeTarget; }