import NbtBinary from "./NbtBinary";
import IFlatWorldLayerSet from "./IFlatWorldLayerSet";
import { BackupType, IWorldSettings } from "./IWorldSettings";
import { IErrorMessage, IErrorable } from "../core/IErrorable";
export declare enum GameType {
    survival = 0,
    creative = 1,
    adventure = 2
}
export declare enum Generator {
    old = 0,
    infinite = 1,
    flat = 2
}
export declare enum Difficulty {
    peaceful = 0,
    easy = 1,
    normal = 2,
    hard = 3
}
export declare enum PlayerPermissionsLevel {
    visitor = 0,
    member = 1,
    operator = 2,
    custom = 3
}
export declare const TOPMOST_BLOCK = 32767;
export declare const DEFAULT_SPAWN_COORD = -2147483648;
export default class WorldLevelDat implements IWorldSettings, IErrorable {
    nbt: NbtBinary | undefined;
    levelName?: string;
    spawnX?: number;
    spawnY?: number;
    spawnZ?: number;
    gameType?: GameType;
    editorWorldType?: number;
    generator?: Generator;
    commandsEnabled?: boolean;
    commandBlocksEnabled?: boolean;
    experimentalGameplay?: boolean;
    betaApisExperiment?: boolean;
    deferredTechnicalPreviewExperiment?: boolean;
    dataDrivenItemsExperiment?: boolean;
    savedWithToggledExperiments?: boolean;
    experimentsEverUsed?: boolean;
    cheatsEnabled?: boolean;
    attackMobs?: boolean;
    attackPlayers?: boolean;
    build?: boolean;
    doorsAndSwitches?: boolean;
    flySpeed?: number;
    flying?: boolean;
    instaBuild?: boolean;
    invulnerable?: boolean;
    lightning?: boolean;
    mayFly?: boolean;
    mine?: boolean;
    op?: boolean;
    openContainers?: boolean;
    teleport?: boolean;
    walkSpeed?: number;
    isCreatedInEditor?: boolean;
    isExportedFromEditor?: boolean;
    isRandomSeedAllowed?: boolean;
    biomeOverride?: string;
    centerMapsToOrigin?: boolean;
    confirmedPlatformLockedContent?: boolean;
    difficulty?: Difficulty;
    flatWorldLayers?: IFlatWorldLayerSet;
    forceGameType?: boolean;
    inventoryVersion?: string;
    lanBroadcast?: boolean;
    lanBroadcastIntent?: boolean;
    lastPlayed?: bigint;
    limitedWorldOriginX?: number;
    limitedWorldOriginY?: number;
    limitedWorldOriginZ?: number;
    minimumCompatibleClientVersion?: number[];
    multiplayerGame?: boolean;
    multiplayerGameIntent?: boolean;
    netherScale?: number;
    networkVersion?: number;
    platform?: number;
    platformBroadcastIntent?: number;
    randomSeed?: string;
    spawnV1Villagers?: boolean;
    storageVersion?: number;
    time?: bigint;
    worldVersion?: number;
    xblBroadcastIntent?: number;
    abilities?: any[];
    baseGameVersion?: string;
    bonusChestEnabled?: boolean;
    bonusChestSpawned?: boolean;
    commandBlockOutput?: boolean;
    currentTick?: bigint;
    doDaylightCycle?: boolean;
    daylightCycle?: number;
    doEntityDrops?: boolean;
    doFireTick?: boolean;
    doImmediateRespawn?: boolean;
    doInsomnia?: boolean;
    doMobLoot?: boolean;
    doMobSpawning?: boolean;
    doTileDrops?: boolean;
    doWeatherCycle?: boolean;
    drowningDamage?: boolean;
    eduOffer?: number;
    educationFeaturesEnabled?: boolean;
    fallDamage?: boolean;
    fireDamage?: boolean;
    freezeDamage?: boolean;
    functionCommandLimit?: number;
    hasBeenLoadedInCreative?: boolean;
    hasLockedBehaviorPack?: boolean;
    hasLockedResourcePack?: boolean;
    immutableWorld?: boolean;
    isFromLockedTemplate?: boolean;
    isFromWorldTemplate?: boolean;
    isSingleUseWorld?: boolean;
    isWorldTemplateOptionLocked?: boolean;
    keepInventory?: boolean;
    lastOpenedWithVersion?: number[];
    lightningTime?: number;
    lightningLevel?: number;
    limitedWorldDepth?: number;
    limitedWorldWidth?: number;
    maxCommandChainLength?: number;
    mobGriefing?: boolean;
    naturalRegeneration?: boolean;
    permissionsLevel?: PlayerPermissionsLevel;
    playerPermissionsLevel?: PlayerPermissionsLevel;
    prid?: string;
    pvp?: boolean;
    rainLevel?: number;
    rainTime?: number;
    randomTickSpeed?: number;
    requiresCopiedPackRemovalCheck?: boolean;
    respawnBlocksExplode?: boolean;
    sendCommandFeedback?: boolean;
    serverChunkTickRange?: number;
    showBorderEffect?: boolean;
    showCoordinates?: boolean;
    showDeathMessages?: boolean;
    showTags?: boolean;
    spawnMobs?: boolean;
    spawnRadius?: number;
    startWithMapEnabled?: boolean;
    texturePacksRequired?: boolean;
    tntExplodes?: boolean;
    useMsaGamertagsOnly?: boolean;
    worldStartCount?: bigint;
    worldPolicies?: number;
    isInErrorState?: boolean;
    errorMessages?: IErrorMessage[];
    context?: string;
    backupType?: BackupType;
    useCustomSettings?: boolean;
    createNbt(): NbtBinary;
    private _pushError;
    loadFromNbtBytes(bytes: Uint8Array, context?: string): void;
    ensureNbt(): void;
    getBytes(): Uint8Array<ArrayBuffer>;
    persist(): boolean;
    ensureDefaults(): void;
    applyFromWorldSettings(settings: IWorldSettings): void;
    _saveToNbt(binary: NbtBinary): void;
    loadFromNbt(binary: NbtBinary): void;
}
