import { ArgumentNode, NodeType } from './ArgumentNode'; import { NbtCompoundNode } from './NbtCompoundNode'; export declare type NbtNodeTypeName = 'Byte' | 'Short' | 'Int' | 'Long' | 'Float' | 'Double' | 'String' | 'ByteArray' | 'IntArray' | 'LongArray' | 'Compound' | 'List'; export declare const NbtNodeType: unique symbol; export declare const SuperNode: unique symbol; export declare abstract class NbtNode extends ArgumentNode { abstract [NodeType]: string; abstract [NbtNodeType]: NbtNodeTypeName; [SuperNode]: NbtCompoundNode | null; constructor(superNbt: NbtCompoundNode | null); } export declare function isNbtNodeTypeStrictlyMatched(actual: NbtNodeTypeName, expected: NbtNodeTypeName): boolean; export declare function isNbtNodeTypeLooselyMatched(actual: NbtNodeTypeName, expected: NbtNodeTypeName): boolean;