import { type FlowDefinition } from "./schema.js"; /** Stable authored-path failure returned without exposing Zod as part of the public boundary. */ export interface FlowDefinitionIssue { /** Dot-separated authored-data path; the empty string identifies the root. */ path: string; /** Human-readable reason the value failed contract validation. */ message: string; } /** Inert legacy edge retained for round-tripping outside the closed authored-v2 vocabulary. */ export type LegacyCompatibilityEdge = { id: string; source: string; target: string; type: string; } & Record; /** Normalized content whose nodes are strict v2 while inert legacy edges remain lossless. */ export type ParsedFlowDefinition = Omit & { edges: Array; }; /** Normalized authoring or compatibility content, or complete authored-path failures. */ export type FlowDefinitionParseResult = { ok: true; data: ParsedFlowDefinition; } | { ok: false; errors: FlowDefinitionIssue[]; }; /** * Converts a recognized v1 definition to strict v2 without mutating the authored input. * Non-executable legacy nodes become inert placeholders so dependency and terminal semantics survive. */ export declare function normalizeV1(data: unknown): FlowDefinitionParseResult; /** * Parses strict v2 or normalizes v1, reusing an unchanged successful result across boundaries. * Only an absent own schema version permits compatibility normalization. */ export declare function parseFlowDefinition(data: unknown): FlowDefinitionParseResult; //# sourceMappingURL=normalize.d.ts.map