import JSBI from 'jsbi'; import { CachedKeyDecoder } from './CachedKeyDecoder'; import { ExtensionCodecType } from './ExtensionCodec'; declare const enum State { ARRAY = 0, MAP_KEY = 1, MAP_VALUE = 2 } declare type MapKeyType = unknown; declare type StackMapState = { type: State.MAP_KEY | State.MAP_VALUE; size: number; key: MapKeyType | null; keyStart: number; keyEnd: number; serializedKey: string | null; readCount: number; map: Record; }; declare type StackArrayState = { type: State.ARRAY; size: number; keyStart: number; array: unknown[]; position: number; }; declare type StackState = StackArrayState | StackMapState; export declare class Decoder { totalPos: number; pos: number; view: DataView; bytes: Uint8Array; readonly stack: StackState[]; readonly maxStrLength: number; readonly maxBinLength: number; readonly maxArrayLength: number; readonly maxMapLength: number; readonly maxExtLength: number; readonly extensionCodec: ExtensionCodecType; readonly cachedKeyDecoder: CachedKeyDecoder | null; readonly useJSBI: boolean; constructor(extensionCodec?: ExtensionCodecType, useJSBI?: boolean, maxStrLength?: number, maxBinLength?: number, maxArrayLength?: number, maxMapLength?: number, maxExtLength?: number, cachedKeyDecoder?: CachedKeyDecoder | null); setBuffer(buffer: ArrayLike | ArrayBuffer): void; hasRemaining(size?: number): boolean; createNoExtraBytesError(posToShow: number): Error; decodeSingleSync(): unknown; decodeSync(): unknown; pushMapState(size: number): void; pushArrayState(size: number): void; decodeUtf8String(byteLength: number, headerOffset: number): string; stateIsMapKey(): boolean; decodeBinary(byteLength: number, headOffset: number): Uint8Array; decodeExtension(size: number, headOffset: number): unknown; lookU8(): number; lookU16(): number; lookU32(): number; readU8(): number; readI8(): number; readU16(): number; readI16(): number; readU32(): number; readI32(): number; readU64(): bigint | JSBI; readI64(): bigint | JSBI; readF32(): number; readF64(): number; } export {};