import BlockVolume from "./BlockVolume";
import NbtBinary from "./NbtBinary";
import ISnbtContent from "./ISnbtContent";
import Entity from "./Entity";
export default class Structure {
    private _cube;
    private _entities;
    private _blockPalette;
    nbt: NbtBinary | undefined;
    defaultBlockPersistenceVersion: number;
    originX: number | undefined;
    originY: number | undefined;
    originZ: number | undefined;
    get cube(): BlockVolume | undefined;
    set cube(newCube: BlockVolume | undefined);
    get entities(): Entity[];
    shallowCopyFrom(structure: Structure): void;
    createNbt(): NbtBinary;
    loadFromSnbtText(text: string): void;
    loadFromSnbt(content: ISnbtContent): void;
    loadFromNbtBytes(bytes: Uint8Array): Promise<void>;
    getMCStructureBytes(): Uint8Array<ArrayBufferLike>;
    loadFromNbt(binary: NbtBinary): Promise<void>;
}
