import { WorldCursor } from "../World/Cursor/WorldCursor"; import { Vec3Array, Vector3Like } from "@amodx/math"; import { LocationData } from "../Math"; export declare class TaskMap { _map: boolean[]; get size(): number; origin: Vector3Like; start(x: number, y: number, z: number): void; has(x: number, y: number, z: number): boolean; add(x: number, y: number, z: number): void; delete(x: number, y: number, z: number): void; clear(): void; } declare class UpdatedBounds { _task: VoxelUpdateTask; displayMin: Vector3Like; displayMax: Vector3Like; dimension: number; constructor(_task: VoxelUpdateTask); start(dimension?: number): void; updateDisplay(x: number, y: number, z: number): void; getSections(): Vec3Array[]; markDisplayDirty(): false | undefined; } export declare class VoxelUpdateTask { flow: FlowQueues; rgb: LightQueue; sun: LightQueue; power: PowerQueue; bounds: UpdatedBounds; sDataCursor: WorldCursor; nDataCursor: WorldCursor; origin: LocationData; setOrigin(dimension: number, x: number, y: number, z: number): void; setOriginAt(origin: LocationData): void; clear(): void; } declare class FlowQueues { update: { queue: number[][]; map: TaskMap; }; remove: { queue: number[][]; map: TaskMap; noRemoveMap: TaskMap; }; clear(): void; } declare class LightQueue { update: number[]; remove: number[]; removeMap: TaskMap; updateMap: TaskMap; clear(): void; } declare class PowerQueue { update: number[]; remove: number[]; removeMap: TaskMap; updateMap: TaskMap; clear(): void; } export {};