import { ItemData, ItemMetadata } from "./types.js"; import { FilesystemTreeSpec } from "./tree-spec.js"; import { ItemComparisonResult } from "./compare.js"; export type ItemCommandType = "create" | "update" | "move" | "rename" | "recycle"; export type UpdateCommandData = { command: "CHANGE_TEMPLATE"; data: string; } | { command: "UPDATE"; data: { fieldId: string; language?: string; version?: number; value: string; blobId?: string | null; }; } | { command: "RESET_FIELD"; data: { fieldId: string; language?: string; version?: number; }; } | { command: "REMOVE_VERSION"; data: { language: string; version: number; }; } | { command: "ADD_VERSION"; data: { language: string; version: number; }; }; export type ItemCommand = { type: ItemCommandType; source: ItemMetadata; destination?: ItemMetadata; sourceData?: ItemData; updateCommands?: UpdateCommandData[]; }; export declare const buildCommandsForSubtree: (subtree: FilesystemTreeSpec, sourceItems: ItemMetadata[], destinationItems: ItemMetadata[], applyAllowedPushOperations: boolean) => ItemCommand[]; export declare const buildUpdateCommandData: (comparison: ItemComparisonResult, push: boolean) => UpdateCommandData[]; export declare const enrichUpdateCommands: (commands: ItemCommand[], sourceData: Map, destinationData: Map, push: boolean) => void; export declare const enrichCreateCommands: (commands: ItemCommand[], sourceData: Map) => void;