from __future__ import annotations

import os
import typing

import amulet.nbt

__all__: list[str] = ["BedrockLevelDat"]

class BedrockLevelDat:
    named_tag: amulet.nbt.NamedTag
    @staticmethod
    def from_binary(buffer: bytes) -> BedrockLevelDat: ...
    @staticmethod
    def from_file(path: os.PathLike | str | bytes) -> BedrockLevelDat: ...
    def __copy__(self) -> BedrockLevelDat: ...
    def __deepcopy__(self, memo: dict) -> BedrockLevelDat: ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(
        self, version: typing.SupportsInt, named_tag: amulet.nbt.NamedTag
    ) -> None: ...
    def __repr__(self) -> str: ...
    def save_to(self, path: os.PathLike | str | bytes) -> None: ...
    def to_binary(self) -> bytes: ...
    @property
    def version(self) -> int: ...
    @version.setter
    def version(self, version: typing.SupportsInt) -> None: ...
