/**
 * transferKeys — key encoding, comparators, and collectors shared across transfer planning.
 *
 * @module domain/services/transfer/transferKeys
 */
import type { ContentMeta } from '../../types/ContentMeta.ts';
import type { VisibleStateReader } from '../../types/VisibleStateReader.ts';
export type { ContentMeta, VisibleStateReader };
export type EdgeRef = {
    from: string;
    to: string;
    label: string;
};
/**
 * Lexicographic comparison for deterministic ordering.
 */
export declare function compareStrings(a: string, b: string): number;
/**
 * Produce a canonical string key for an arbitrary property value.
 */
export declare function valueKey(value: unknown): string;
/**
 * Produce a canonical string key for optional content metadata.
 */
export declare function contentMetaKey(meta: ContentMeta | null | undefined): string;
/**
 * Build a composite key for an edge triple.
 */
export declare function edgeKey(edge: EdgeRef): string;
/**
 * Collect all edges from a reader into a Map keyed by composite edge key.
 */
export declare function collectEdgeRefs(reader: VisibleStateReader): Map<string, EdgeRef>;
/**
 * Merge and deduplicate property keys from two property bags, excluding attachment keys.
 */
export declare function propertyKeys(sourceProps: Record<string, unknown>, // nosemgrep: ts-no-record-string-unknown-outside-adapters -- 0025B; nosemgrep: ts-no-unknown-outside-adapters -- 0025B
targetProps: Record<string, unknown>): string[];
