import { default as BinaryStream } from '@jsprismarine/jsbinaryutils';
import { ByteOrder } from './ByteOrder';
import { default as ByteVal } from './types/ByteVal';
import { default as DoubleVal } from './types/DoubleVal';
import { default as FloatVal } from './types/FloatVal';
import { default as LongVal } from './types/LongVal';
import { default as NumberVal } from './types/NumberVal';
import { default as ShortVal } from './types/ShortVal';
import { default as StringVal } from './types/StringVal';
export default class NBTStreamReader {
    protected input: BinaryStream;
    protected byteOrder: ByteOrder;
    private useVarint;
    private allocateLimit;
    protected constructor(input: any, byteOrder: ByteOrder);
    isUsingVarint(): boolean;
    setUseVarint(useVarint: boolean): void;
    setAllocateLimit(allocateLimit: number): void;
    protected readByteValue(): ByteVal;
    protected readStringValue(): StringVal;
    protected readShortValue(): ShortVal;
    protected readIntValue(): NumberVal;
    protected readLongValue(): LongVal;
    protected readFloatValue(): FloatVal;
    protected readDoubleValue(): DoubleVal;
    protected readByteArrayValue(): Buffer;
    protected readIntArrayValue(): number[];
    protected expectInput(remaining: number, message: string, alterAllocationLimit?: boolean): void;
    alterAllocationLimit(remaining: number): void;
}
//# sourceMappingURL=NBTStreamReader.d.ts.map