import type { BlockHash, PalletDefLatest } from '@dedot/codecs'; import { HexString } from '@dedot/utils'; import { ISubstrateClient, ISubstrateClientAt } from '../types.js'; export interface StateCallParams { func: string; params: HexString; at?: BlockHash; } /** * @name Executor * @description Execution abstraction for a specific action */ export declare abstract class Executor { #private; readonly client: ISubstrateClientAt | ISubstrateClient; constructor(client: ISubstrateClientAt | ISubstrateClient, atBlockHash?: BlockHash); get atBlockHash(): any; get registry(): import("@dedot/codecs").PortableRegistry; get metadata(): { types: { id: number; path: string[]; params: { name: string; typeId: number | undefined; }[]; typeDef: { type: "Struct"; value: { fields: import("@dedot/codecs").Field[]; }; } | { type: "Enum"; value: { members: { name: string; fields: import("@dedot/codecs").Field[]; index: number; docs: string[]; }[]; }; } | { type: "Sequence"; value: { typeParam: number; }; } | { type: "SizedVec"; value: { len: number; typeParam: number; }; } | { type: "Tuple"; value: { fields: number[]; }; } | { type: "Primitive"; value: { kind: "bool" | "char" | "str" | "u8" | "u16" | "u32" | "u64" | "u128" | "u256" | "i8" | "i16" | "i32" | "i64" | "i128" | "i256"; }; } | { type: "Compact"; value: { typeParam: number; }; } | { type: "BitSequence"; value: { bitStoreType: number; bitOrderType: number; }; }; docs: string[]; }[]; pallets: { name: string; storage: { prefix: string; entries: { name: string; modifier: string; storageType: { type: "Plain"; value: { valueTypeId: number; }; } | { type: "Map"; value: { hashers: ("identity" | "blake2_128" | "blake2_256" | "blake2_128Concat" | "twox128" | "twox256" | "twox64Concat")[]; keyTypeId: number; valueTypeId: number; }; }; default: `0x${string}`; docs: string[]; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; } | undefined; calls: { typeId: number; deprecationInfo: readonly [ReadonlyMap]; } | undefined; event: { typeId: number; deprecationInfo: readonly [ReadonlyMap]; } | undefined; constants: { name: string; typeId: number; value: `0x${string}`; docs: string[]; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; error: { typeId: number; deprecationInfo: readonly [ReadonlyMap]; } | undefined; associatedTypes: { name: string; typeId: number; docs: string[]; }[]; viewFunctions: { id: Uint8Array; name: string; inputs: { name: string; typeId: number; }[]; output: number; docs: string[]; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; index: number; docs: string[]; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; extrinsic: { versions: number[]; addressTypeId: number; callTypeId: number; signatureTypeId: number; signedExtensionsByVersion: ReadonlyMap; signedExtensions: { ident: string; typeId: number; additionalSigned: number; }[]; }; apis: { name: string; methods: { name: string; inputs: { name: string; typeId: number; }[]; output: number; docs: string[]; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; docs: string[]; version: number; deprecationInfo: { type: "DeprecatedWithoutNote"; } | { type: "Deprecated"; value: { note: string; since: string | undefined; }; } | { type: "NotDeprecated"; }; }[]; outerEnums: { callEnumTypeId: number; eventEnumTypeId: number; errorEnumTypeId: number; }; custom: { map: ReadonlyMap; }; }; getPallet(name: string): PalletDefLatest; protected stateCall(callParams: StateCallParams): Promise; execute(...paths: string[]): unknown; abstract doExecute(...paths: string[]): unknown; }