import { type merge } from '@scalar/json-magic/diff'; import type { ComputedRef } from 'vue'; import { type MaybeRefOrGetter } from 'vue'; type UseThreeWayMergeEditorOptions = { /** Base document (common ancestor). */ baseDocument: MaybeRefOrGetter>; /** Document with resolved conflicts (current result). */ resolvedDocument: MaybeRefOrGetter>; /** Merge conflicts from diff. */ conflicts: MaybeRefOrGetter['conflicts']>; /** Called when user applies resolved changes. */ onApplyChanges: (resolvedDocument: Record) => void; /** Optional: called with error message for conflicts left or parse errors. */ onError?: (message: string) => void; }; type ThreeWayMergeEditorContainers = { /** Container for the local (current) diff editor. */ local: HTMLElement; /** Container for the remote diff editor. */ remote: HTMLElement; /** Container for the result (editable) diff editor. */ result: HTMLElement; }; /** * Shared state and logic for a 3-way merge editor (base | local | remote → result). * Create editors by calling init() with the three container elements (e.g. from refs in onMounted). * Call dispose() in onUnmounted. * * @example * ```vue * * * * ``` */ export declare function useThreeWayMergeEditor(options: UseThreeWayMergeEditorOptions): { init: (containers: ThreeWayMergeEditorContainers) => void; dispose: () => void; conflictsLeft: ComputedRef; goToNextConflict: () => void; applyResolvedConflicts: () => void; }; export {}; //# sourceMappingURL=use-three-way-merge-editor.d.ts.map