///
import type { LevelDB } from 'leveldb-zlib';
import PrismarineRegistry from 'prismarine-registry';
import { BedrockChunk } from 'prismarine-chunk';
import { KeyData } from './databaseKeys';
export declare class WorldProvider {
db: LevelDB;
dimension: number;
registry: ReturnType;
Chunks: Record;
/**
* Creates a new Bedrock world provider
* @param db a LevelDB instance for this save file
* @param options dimension - 0 for overworld, 1 for nether, 2 for end
* version - The version to load the world as.
*/
constructor(db: LevelDB, options: {
dimension: number;
registry: any;
});
private get;
getChunkVersion(x: any, z: any): Promise;
readSubChunks(chunkVersion: number, x: int, z: int): Promise;
readEntities(chunkVersion: number, x: number, z: number): Promise;
readBlockEntities(chunkVersion: number, x: number, z: number): Promise;
readBiomesAndElevation(chunkVersion: number, x: number, z: number): Promise<{
heightmap: Buffer;
biomes2d?: Buffer;
biomes3d?: Buffer;
} | null>;
writeSubChunks(column: BedrockChunk): Promise;
writeEntities(column: BedrockChunk): Promise;
writeBlockEntities(column: BedrockChunk): Promise;
writeBiomesAndElevation(cc: BedrockChunk): Promise;
readBorderBlocks(chunkVersion: number, x: number, z: number): Promise;
/**
* Loads a full chunk column
* @param x position of chunk
* @param z position of chunk
* @param full include entities, tiles, height map and biomes
*/
load(x: number, z: number, full?: boolean): Promise;
save(x: number, z: number, column: BedrockChunk): Promise;
getChunk(x: number, z: number, full?: boolean): Promise;
getKeys(): Promise;
}