import { CLType, CLValue, CLErrorCodes, ResultAndRemainder, ToBytesResult, CLValueBytesParsers } from './index'; import { CLTypeTag } from './constants'; export interface MapEntryType { key: CLType; value: CLType; } type KeyVal = CLValue; export declare class CLMapType extends CLType { tag: CLTypeTag; linksTo: string; innerKey: K; innerValue: V; constructor([keyType, valueType]: [K, V]); toString(): string; toBytes(): Uint8Array; toJSON(): any; } export declare class CLMapBytesParser extends CLValueBytesParsers { toBytes(value: CLMap): ToBytesResult; fromBytesWithRemainder(bytes: Uint8Array, mapType: CLMapType): ResultAndRemainder, CLErrorCodes>; } export declare class CLMap extends CLValue { data: [K, V][]; refType: [CLType, CLType]; /** * Constructs a new `MapValue`. * * @param v array [ key, value ] */ constructor(v: [K, V][] | [CLType, CLType]); clType(): CLType; toJSON(): any; value(): [K, V][]; has(k: K): boolean; get(k: K): V | undefined; set(k: K, val: V): void; delete(k: K): void; size(): number; } export {};