import { ABIDecoder } from "../serializer/decoder.js"; import { ABIEncoder } from "../serializer/encoder.js"; import { ABISerializableObject } from "../serializer/serializable.js"; import { NameType } from "./name.js"; import { Blob } from "./blob.js"; export type ABIDef = string | Partial | ABI | Blob; export declare class ABI implements ABISerializableObject { static abiName: string; static version: string; version: string; types: ABI.TypeDef[]; variants: ABI.Variant[]; structs: ABI.Struct[]; actions: ABI.Action[]; tables: ABI.Table[]; ricardian_clauses: ABI.Clause[]; action_results: ABI.ActionResult[]; constructor(args: Partial); static from(value: ABIDef): ABI; static fromABI(decoder: ABIDecoder): ABI; toABI(encoder: ABIEncoder): void; resolveType(name: string): ABI.ResolvedType; resolveAll(): { types: ABI.ResolvedType[]; variants: ABI.ResolvedType[]; structs: ABI.ResolvedType[]; }; private resolve; getStruct(name: string): ABI.Struct | undefined; getVariant(name: string): ABI.Variant | undefined; getActionType(actionName: NameType): string | undefined; equals(other: ABIDef): boolean; toJSON(): { version: string; types: ABI.TypeDef[]; structs: ABI.Struct[]; actions: ABI.Action[]; tables: ABI.Table[]; ricardian_clauses: ABI.Clause[]; error_messages: never[]; abi_extensions: never[]; variants: ABI.Variant[]; action_results: ABI.ActionResult[]; }; } export declare namespace ABI { interface TypeDef { new_type_name: string; type: string; } interface Field { name: string; type: string; } interface Struct { name: string; base: string; fields: Field[]; } interface Action { name: NameType; type: string; ricardian_contract: string; } interface Table { name: NameType; index_type: string; key_names: string[]; key_types: string[]; type: string; } interface Clause { id: string; body: string; } interface Variant { name: string; types: string[]; } interface Def { version: string; types: TypeDef[]; variants: Variant[]; structs: Struct[]; actions: Action[]; tables: Table[]; ricardian_clauses: Clause[]; action_results: ActionResult[]; } interface ActionResult { name: NameType; result_type: string; } class ResolvedType { name: string; id: number; isArray: boolean; isOptional: boolean; isExtension: boolean; base?: ResolvedType; fields?: { name: string; type: ResolvedType; }[]; variant?: ResolvedType[]; ref?: ResolvedType; size?: number; constructor(fullName: string, id?: number); get typeName(): string; get allFields(): { name: string; type: ResolvedType; }[] | undefined; } } //# sourceMappingURL=abi.d.ts.map