import { z } from 'zod'; import type { Finding } from './engine.js'; export declare const REF_DELIM = ":"; export declare const PROOF_LEAF = "proof"; export interface NodeRef { issue: string; ac?: string; evidence?: string; proof?: boolean; } /** The universal id for a node: its absolute colon-delimited path. An issue ref * (`ac` omitted) prints as just the issue id. */ export declare function formatRef(ref: NodeRef): string; /** Split a ref string into its trimmed, non-empty segments. */ export declare function refSegments(refStr: string): string[]; /** The universal id of the node a finding points at (issue / ac / evidence). */ export declare function findingId(f: Finding): string | undefined; /** The strict schema for a stored (resolved) block reference: a whole issue (`ac` * omitted) or a specific acceptance criterion. Presets compose this into their AC * schema for the `blockedBy` / `blocks` blocking primitive. */ export declare const BlockRefSchema: z.ZodObject<{ issue: z.ZodString; ac: z.ZodOptional; }, z.core.$strict>;