import { Flat3DIndex, Vec3Array } from "@amodx/math"; import { ArchivedVoxelTemplateData } from "./ArchivedVoxelTemplate.types"; import type { RawVoxelData } from "../../Voxels/Types/Voxel.types"; import { NumberPalette } from "../../Util/NumberPalette"; import { IVoxelTemplate } from "../../Templates/VoxelTemplates.types"; import { BinaryBuffer } from "@amodx/binary/Buffer"; import { VoxelPaletteArchiveReader } from "../../Voxels/Archive/VoxelPaletteArchiveReader"; import { BoundingBox } from "@amodx/math/Geometry/Bounds/BoundingBox"; type TemplateCursor = { position: Vec3Array; raw: RawVoxelData; }; export declare class ArchivedVoxelTemplate implements IVoxelTemplate { index: Flat3DIndex; bounds: BoundingBox; ids: BinaryBuffer; level: BinaryBuffer; secondary: BinaryBuffer; voxelPalette: VoxelPaletteArchiveReader; levelPalette: NumberPalette; secondaryPalette: NumberPalette; private data; constructor(data: ArchivedVoxelTemplateData); inBounds(x: number, y: number, z: number): boolean; isAir(index: number): boolean; isIncluded(index: number): boolean; getIndex(x: number, y: number, z: number): number; getId(index: number): number; getLevel(index: number): number; getLight(index: number): number; getSecondary(index: number): number; traverse(curosr?: TemplateCursor): Generator; clone(): ArchivedVoxelTemplate; getRaw(index: number, rawRef?: RawVoxelData): RawVoxelData; toJSON(): ArchivedVoxelTemplateData; fromJSON(data: ArchivedVoxelTemplateData): void; } export {};