/// import { Type, TypedValue } from "../typesystem"; export declare class BinaryCodec { readonly constraints: BinaryCodecConstraints; private readonly optionCodec; private readonly listCodec; private readonly arrayCodec; private readonly primitiveCodec; private readonly structCodec; private readonly tupleCodec; private readonly enumCodec; private readonly explicitEnumCodec; private readonly managedDecimalCodec; private readonly managedDecimalSignedCodec; constructor(constraints?: BinaryCodecConstraints | null); decodeTopLevel(buffer: Buffer, type: Type): TResult; decodeNested(buffer: Buffer, type: Type): [TResult, number]; encodeNested(typedValue: TypedValue): Buffer; encodeTopLevel(typedValue: TypedValue): Buffer; } export declare class BinaryCodecConstraints { maxBufferLength: number; maxListLength: number; constructor(init?: Partial); checkBufferLength(buffer: Buffer): void; /** * This constraint avoids computer-freezing decode bugs (e.g. due to invalid ABI or struct definitions). */ checkListLength(length: number): void; }