import { VoxelCursorInterface } from "../../../Voxels/Cursor/VoxelCursor.interface"; import { VoxelLogicEffects } from "../VoxelLogic.types"; import { VoxelLogic } from "./VoxelLogic"; export interface VoxelLogicTypeConstructor { new (voxelLogic: VoxelLogic, data: Data): VoxelLogicType; } export declare abstract class VoxelLogicType { voxelLogic: VoxelLogic; data: Data; constructor(voxelLogic: VoxelLogic, data: Data); abstract init(): void; abstract run(task: VoxelCursorInterface): boolean; abstract getEffects(): Generator; }