import type { Types } from '@cornerstonejs/core';
import type { LabelmapSegmentationDataStack, LabelmapSegmentationDataVolume } from './LabelmapTypes';
import type vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
import type { LabelmapMemo } from '../utilities/segmentation/createLabelmapMemo';
type LabelmapToolOperationData = {
    segmentationId: string;
    segmentIndex: number;
    previewColors?: Record<number, [number, number, number, number]>;
    segmentsLocked: number[];
    viewPlaneNormal: number[];
    viewUp: number[];
    activeStrategy: string;
    points: Types.Point3[];
    voxelManager: any;
    override: {
        voxelManager: Types.IVoxelManager<number>;
        imageData: vtkImageData;
    };
    preview: any;
    toolGroupId: string;
    createMemo: (segmentId: any, segmentVoxels: any, previewVoxels?: any, previewMemo?: any) => LabelmapMemo;
};
type LabelmapToolOperationDataStack = LabelmapToolOperationData & LabelmapSegmentationDataStack;
type LabelmapToolOperationDataVolume = LabelmapToolOperationData & LabelmapSegmentationDataVolume;
type LabelmapToolOperationDataAny = LabelmapToolOperationDataVolume | LabelmapToolOperationDataStack;
export type { LabelmapToolOperationData, LabelmapToolOperationDataAny, LabelmapToolOperationDataStack, LabelmapToolOperationDataVolume, };
