import { VoxelLightData } from "./VoxelLightData"; import { RawVoxelData } from "../Types/Voxel.types"; import { VoxelSubstanceTags, VoxelTags } from "../../Voxels/Data/VoxelTag.types"; import { NumberArray } from "../../Util/Util.types"; export declare abstract class VoxelCursorInterface { _voxelId: number; id: number; secondaryId: number; tags: VoxelTags; substanceTags: VoxelSubstanceTags; __readingSecondaryVoxel: boolean; _index: number; abstract ids: NumberArray; abstract light: NumberArray; abstract level: NumberArray; abstract secondary: NumberArray; /** * * @param mode 0 for add 1 for remove 2 for the voxel needs a buried and logic check only, 3 for propagatin check only */ abstract updateVoxel(mode: 0 | 1 | 2): void; _lightData: VoxelLightData; process(): void; abstract loadIn(): void; setSecondary(enable: boolean): this; getRenderedMaterial(): string; getMaterial(): string; checkCollisions(): boolean; getCollider(): string; getSubstance(): string; getSubstanceData(): VoxelSubstanceTags; isOpaque(): boolean; getLevel(): number; setLevel(level: number): this; getLevelState(): number; setLevelState(state: number): this; hasSecondaryVoxel(): boolean; canHaveSecondaryVoxel(): boolean; hasRGBLight(): boolean; hasSunLight(): boolean; getLight(): number; setLight(light: number): this; isLightSource(): any; doesVoxelAffectLogic(): boolean; getLightSourceValue(): number; getPower(): number; setPower(level: number): this; isPowerSource(): any; getPowerSourceValue(): number; noAO(): boolean; isRenderable(): boolean; isAir(): boolean; setAir(): this; /**Get the voxels palette id. The id is the combination of the true id, state, and mod. */ getId(): number; setId(id: number): this; /**Get the true voxel id. Meaning the numeric id for the string id of the voxel */ getVoxelId(): number; setVoxelId(id: number, state?: number, mod?: number): this; setStringId(id: string, state?: number, mod?: number): this; getStringId(): string; setName(name: string, state?: number, mod?: number): this; getName(): string; getMod(): number; setMod(mod: number): this; getState(): number; setState(state: number): this; isFullBlock(): boolean; isSameVoxel(voxel: VoxelCursorInterface): boolean; copy(cursor: VoxelCursorInterface): this; setRaw(raw: RawVoxelData): this; getRaw(): RawVoxelData; getRawToRef(raw: RawVoxelData): RawVoxelData; }