import * as Node from './node'; /** Join parts with the primary separator. */ export declare const primaryKey: (...parts: string[]) => string; /** Split a key on the primary separator. */ export declare const primaryParts: (key: string) => string[]; /** Join parts with the secondary separator. */ export declare const secondaryKey: (...parts: string[]) => string; /** Split a key on the secondary separator. */ export declare const secondaryParts: (key: string) => string[]; /** * Normalize a relation input to a full Relation object. */ export declare const normalizeRelation: (relation?: Node.RelationInput) => Node.Relation; /** * Shallow-compare two values: same reference, or same own-keys with === values. */ export declare const shallowEqual: (a: unknown, b: unknown) => boolean; /** * Returns true if two NodeArg arrays are semantically identical (same id, type, data, properties per index). * Inline child nodes (the `nodes` field) are compared recursively. */ export declare const nodeArgsUnchanged: (prev: Node.NodeArg[], next: Node.NodeArg[]) => boolean; /** * Build a qualified node ID by joining path segments. */ export declare const qualifyId: (parentId: string, ...segmentIds: string[]) => string; /** * Validate that a segment ID does not contain the path separator. */ export declare const validateSegmentId: (id: string) => void; /** * Extract the parent qualified ID (everything before the last path separator). * Returns undefined for IDs with no parent (single segment). */ export declare const getParentId: (qualifiedId: string) => string | undefined; /** * Extract the last segment of a qualified ID. */ export declare const getSegmentId: (qualifiedId: string) => string; //# sourceMappingURL=util.d.ts.map