import { GUI } from "dat.gui"; import { IDrawingEvents, IProtected, IGuiParameterSettings } from "../core/types"; import type { GuiState } from "./GuiState"; import { NrrdState } from "./NrrdState"; import { DragOperator } from "../DragOperator"; interface IConfigGUI { modeFolder: GUI; dragOperator: DragOperator; nrrd_states: NrrdState; gui_states: GuiState; drawingCanvas: HTMLCanvasElement; drawingPrameters: IDrawingEvents; protectedData: IProtected; pencilUrls: string[]; getVolumeForLayer: (layer: string) => any; mainPreSlices: any; removeDragMode: () => void; configDragMode: () => void; clearActiveSlice: () => void; clearActiveLayer: () => void; updateSlicesContrast: (value: number, flag: string) => void; setMainAreaSize: (factor: number) => void; resetPaintAreaUIPosition: () => void; resizePaintArea: (factor: number) => void; repraintCurrentContrastSlice: () => void; setSyncsliceNum: () => void; resetLayerCanvas: () => void; redrawDisplayCanvas: () => void; flipDisplayImageByAxis: () => void; setEmptyCanvasSize: (axis?: "x" | "y" | "z") => void; syncLayerSliceData: (index: number, layer: string) => void; drawImageOnEmptyImage: (canvas: HTMLCanvasElement) => void; getRestLayer: () => string[]; setIsDrawFalse: (target: number) => void; undoLastPainting: () => void; redoLastPainting: () => void; resetZoom: () => void; downloadCurrentMask: () => void; } declare function setupGui(configs: IConfigGUI): IGuiParameterSettings; declare function removeGuiFolderChilden(modeFolder: GUI): void; export { setupGui, removeGuiFolderChilden };