import { type ValueIr } from "../../../core/domain/facts/value-ir.js"; /** * Reduces the ordered components of a route to the canonical form two * repositories can be joined on. Each component is applied exactly once: a * repeated prefix stays repeated, because guessing that `/v2` + `/v2/orders` * meant `/v2/orders` would silently invent a route nobody declared. */ export declare function canonicalPath(components: readonly string[]): string; /** * The same grammar over components that did not all fold to a value. Each * unproven part is carried through canonicalization as an opaque marker, so a * hole neither splits a segment nor picks up the escaping rules of one. */ export declare function canonicalPathIr(components: readonly ValueIr[]): ValueIr;