import { BaseTool } from "./BaseTool"; import type { ToolContext } from "./BaseTool"; import type { nrrdSliceType, storeExportPaintImageType, loadingBarType } from "../../../types/types"; import type { DataLoaderHostDeps } from "./ToolHost"; /** * Handles data loading for NRRD slices and mask volumes. * * Extracted from NrrdTools.ts to reduce its size. * Follows the same BaseTool + ToolContext + Callbacks pattern as other tools. */ export declare class DataLoader extends BaseTool { private callbacks; constructor(ctx: ToolContext, callbacks: DataLoaderHostDeps); /****************************Slice Loading****************************************************/ /** * Load all NRRD contrast slices and initialize MaskVolumes with real dimensions. */ setAllSlices(allSlices: Array): void; /****************************Legacy Mask Loading****************************************************/ private loadingMaskByLayer; setMasksData(masksData: storeExportPaintImageType, loadingBar?: loadingBarType): void; /****************************NIfTI Mask Loading****************************************************/ /** * Load raw voxel data into MaskVolume layers. * * Expects pre-extracted voxel bytes (e.g. from useNiftiVoxelData). * * @param layerVoxels Map of layer ID to raw voxel Uint8Array * Keys should be 'layer1', 'layer2', 'layer3' * @param loadingBar Optional loading bar UI */ setMasksFromNIfTI(layerVoxels: Map, loadingBar?: loadingBarType): void; }