import { utilities } from '@cornerstonejs/core'; import type { Types } from '@cornerstonejs/core'; export type LabelmapRestoreStep = { undo: () => void; redo: () => void; }; export type LabelmapMemo = Types.Memo & { segmentationVoxelManager: Types.IVoxelManager; voxelManager: Types.IVoxelManager; redoVoxelManager?: Types.IVoxelManager; undoVoxelManager?: Types.IVoxelManager; memo?: LabelmapMemo; id: string; priorSteps?: LabelmapRestoreStep[]; postSteps?: LabelmapRestoreStep[]; }; export declare function createLabelmapMemo(segmentationId: string, segmentationVoxelManager: Types.IVoxelManager): { segmentationId: string; restoreMemo: typeof restoreMemo; commitMemo: typeof commitMemo; segmentationVoxelManager: Types.IVoxelManager; voxelManager: utilities.VoxelManager; id: string; operationType: string; }; export declare function memoAsStep(memo: LabelmapMemo): LabelmapRestoreStep; export declare function restoreMemo(isUndo?: boolean): void; export declare function createRleMemo(segmentationId: string, segmentationVoxelManager: Types.IVoxelManager): { segmentationId: string; restoreMemo: typeof restoreMemo; commitMemo: typeof commitMemo; segmentationVoxelManager: Types.IVoxelManager; voxelManager: utilities.VoxelManager; id: string; operationType: string; }; declare function commitMemo(): boolean; export {};