import { type ABIDataType } from '@aldaba/common'; import type { SerialBuffer } from '../utils/serial-buffer'; /** * Aldaba Contract ABI Types Enum * @link https://yuque.antfin-inc.com/antchain/aldaba-ng/zghck2#BNK9R */ export declare enum TypesEnum { Uint8 = 0, Int8 = 1, Uint16 = 2, Int16 = 3, Uint32 = 4, Int32 = 5, Uint64 = 6, Int64 = 7, Uint128 = 8, Int128 = 9, Bool = 10, String = 11, ParamPack = 12, Uint8Array = 32, Int8Array = 33, Uint16Array = 34, Int16Array = 35, Uint32Array = 36, Int32Array = 37, Uint64Array = 38, Int64Array = 39, Uint128Array = 40, Int128Array = 41, BoolArray = 42, StringArray = 43, Uint8Map = 64, Int8Map = 65, Uint16Map = 66, Int16Map = 67, Uint32Map = 68, Int32Map = 69, Uint64Map = 70, Int64Map = 71, Uint128Map = 72, Int128Map = 73, BoolMap = 74, StringMap = 75 } export declare const typesValue2Label: Record; export declare abstract class AbstractType { static readonly value: TypesEnum; static readonly label: ABIDataType; readonly value: TypesEnum; readonly label: ABIDataType; /** Convert `data` to binary form and store in `buffer` */ abstract serialize(buffer: SerialBuffer, data: any): void; /** Convert data in `buffer` from binary form */ abstract deserialize(buffer: SerialBuffer): any; abstract serializeFromString(buffer: SerialBuffer, data: string): void; abstract deserializeToString(buffer: SerialBuffer): string; protected debug: typeof console.debug; } export declare const datastream: (typeValue: TypesEnum) => (constructor: any) => any; export declare const safeParseJSONString: (str: string, fallback?: any) => D; export declare const serializeArray: (instance: T) => (buffer: SerialBuffer, array: D[]) => void; export declare const deserializeArray: (instance: T) => (buffer: SerialBuffer) => D[]; //# sourceMappingURL=abstract.d.ts.map