/**
 * VisibleStateTransferPlanner — orchestrates a full visible-state transfer plan.
 *
 * Delegates key encoding to transferKeys, op-building to transferOps, and shape/aggregation to transferShape.
 *
 * @module domain/services/transfer/VisibleStateTransferPlanner
 */
import type { VisibleStateTransferOperation, VisibleStateTransferPlanSummary } from '../../types/CoordinateComparison.ts';
import { type ContentMeta, type EdgeRef, type VisibleStateReader } from './transferKeys.ts';
import { type NodeShapeDelta, type EdgeShapeDelta } from './transferShape.ts';
export declare const VISIBLE_STATE_TRANSFER_PLAN_VERSION = "visible-state-transfer-plan/v1";
type AssembleOpsParams = {
    nodeShape: NodeShapeDelta;
    edgeShape: EdgeShapeDelta;
    nodePropertyOps: VisibleStateTransferOperation[];
    edgePropertyOps: VisibleStateTransferOperation[];
    nodeContentOps: VisibleStateTransferOperation[];
    edgeContentOps: VisibleStateTransferOperation[];
};
/**
 * Assemble shape, property, and content ops into a single ordered operation list.
 *
 * Ordering: add nodes → node properties → node content → add edges → edge properties →
 * edge content → remove edges → remove nodes.
 */
export declare function assembleOps(parts: AssembleOpsParams): VisibleStateTransferOperation[];
export type TransferLoaders = {
    loadNodeContent: (nodeId: string, meta: ContentMeta) => Promise<Uint8Array>;
    loadEdgeContent: (edge: EdgeRef, meta: ContentMeta) => Promise<Uint8Array>;
};
export type TransferPlanResult = {
    transferVersion: string;
    ops: VisibleStateTransferOperation[];
    summary: VisibleStateTransferPlanSummary;
};
/**
 * Produce a complete visible-state transfer plan that transforms target into source.
 */
export declare function planVisibleStateTransfer(sourceReader: VisibleStateReader, targetReader: VisibleStateReader, loaders: TransferLoaders): Promise<TransferPlanResult>;
export {};
