import { default as BinaryStream } from '../../../jsbinaryutils/src/index.ts';
import { BlockToolType } from '../block/BlockToolType';
import { ItemEnchantmentType } from './ItemEnchantmentType';
export interface ItemProps {
    id: number;
    name: string;
    meta?: number;
    nbt?: any;
    count?: number;
    durability?: number;
}
export declare class Item {
    private id;
    private networkId;
    private name;
    meta: number;
    durability: number;
    nbt: null;
    count: number;
    constructor({ id, name, meta }: ItemProps);
    getName(): string;
    getId(): number;
    /**
     * Get the Block's network numeric id
     */
    getNetworkId(): number;
    isTool(): boolean;
    isArmorPiece(): boolean;
    getBurnTime(): number;
    getToolType(): BlockToolType;
    getToolHarvestLevel(): number;
    getArmorDefensePoints(): number;
    getArmorToughness(): number;
    hasEnchantment(_enchantment: ItemEnchantmentType): boolean;
    getEnchantability(): number;
    getMaxDurability(): number;
    getDurability(): number;
    getMaxAmount(): number;
    getAmount(): number;
    isPartOfCreativeInventory(): boolean;
    networkSerialize(stream: BinaryStream, additionalData?: null | ((stream: BinaryStream) => void)): void;
    static networkDeserialize(stream: BinaryStream, extra?: boolean): Item;
}
//# sourceMappingURL=Item.d.ts.map