/**
 * PatchBuilderValidation — shared validation and content metadata helpers
 * for the PatchBuilder family.
 *
 * @module domain/services/PatchBuilderValidation
 */
import type { WarpState } from './JoinReducer.ts';
/**
 * Inspects materialized state for edges and properties attached to a node.
 * Used by `removeNode` to detect attached data before deletion.
 */
export declare function findAttachedData(state: WarpState, nodeId: string): {
    edges: string[];
    props: string[];
    hasData: boolean;
};
/**
 * Validates that an identifier does not contain reserved bytes that would
 * make the legacy edge-property encoding ambiguous.
 */
export declare function assertNoReservedBytes(value: string, label: string): void;
export declare function assertObservedDotsForRemove(observedDots: readonly string[], targetKind: 'node' | 'edge', context: {
    readonly nodeId?: string;
    readonly edgeKey?: string;
}): void;
/**
 * Calculates the persisted byte length of attached content.
 */
export declare function byteSizeOfContent(content: Uint8Array | string): number;
/**
 * Validates and normalizes optional content metadata for attachment APIs.
 */
export declare function normalizeContentMetadata(content: Uint8Array | string, metadata: {
    mime?: string | null;
    size?: number | null;
} | undefined): {
    mime: string | null;
    size: number;
};
