///
import { ECPoint, UInt160, UInt256 } from '@neo-one/client-common';
import BN from 'bn.js';
export declare class BinaryReader {
readonly buffer: Buffer;
private mutableIndex;
constructor(buffer: Buffer, index?: number);
get index(): number;
get remaining(): number;
get remainingBuffer(): Buffer;
hasMore(): boolean;
clone(): BinaryReader;
readBytes(numBytes: number): Buffer;
readInt8(): number;
readUInt8(): number;
readBoolean(): boolean;
readInt16LE(): number;
readUInt16LE(): number;
readUInt16BE(): number;
readInt32LE(): number;
readUInt32LE(): number;
readUInt64LE(): BN;
readInt64LE(): BN;
readUInt160(): UInt160;
readUInt256(): UInt256;
readFixed8(): BN;
readFixedString(length: number): string;
readArray(read: () => T, max?: number): readonly T[];
readObject(read: () => {
readonly key: number;
readonly value: V;
}, max?: number): {
readonly [key: number]: V;
};
readObject(read: () => {
readonly key: string;
readonly value: V;
}, max?: number): {
readonly [key: string]: V;
};
readVarBytesLE(max?: number): Buffer;
readVarUIntLE(max?: BN): BN;
readVarString(max?: number): string;
readECPoint(): ECPoint;
private checkRead;
}