import { TransactionMethodArgsDecoder, TransactionMethodArgsFactory } from '../data/transaction/method/SubstrateTransactionMethodArgs'; import { SubstrateSignatureType } from '../data/transaction/SubstrateSignature'; export interface SubstrateProtocolConfiguration<_AccountConfiguration extends SubstrateAccountConfiguration = SubstrateAccountConfiguration, _TransactionType extends string = string, _RpcConfiguration extends SubstrateRpcConfiguration = SubstrateRpcConfiguration> { account: _AccountConfiguration; signature?: SubstrateSignatureConfiguration; transaction: SubstrateTransactionConfiguration; rpc?: _RpcConfiguration; } declare type SubstrateAccountType = 'ss58' | 'eth'; interface SubstrateBaseAccountConfiguration<_Type extends SubstrateAccountType> { type: _Type; } export interface SubstrateSS58AccountConfiguration extends SubstrateBaseAccountConfiguration<'ss58'> { format: number; } export interface SubstrateEthAccountConfiguration extends SubstrateBaseAccountConfiguration<'eth'> { } export declare type SubstrateAccountConfiguration = SubstrateSS58AccountConfiguration | SubstrateEthAccountConfiguration; export interface SubstrateSignatureConfiguration { fixedType?: SubstrateSignatureType; } export interface SubstrateTransactionConfiguration<_ProtocolConfiguration extends SubstrateProtocolConfiguration, _Types extends string = string> { version: number; types: Record<_Types, { index?: number; createArgsFactory(configuration: _ProtocolConfiguration, args: any): TransactionMethodArgsFactory; createArgsDecoder(configuration: _ProtocolConfiguration): TransactionMethodArgsDecoder; }>; } export interface SubstrateRpcConfiguration<_Methods extends SubstrateRpcMethods = SubstrateRpcMethods, _StorageEntries extends SubstrateRpcStorageEntries = SubstrateRpcStorageEntries, _Calls extends SubstrateRpcCalls = SubstrateRpcCalls, _Constants extends SubstrateRpcConstants = SubstrateRpcConstants> { methods?: _Methods; storageEntries?: _StorageEntries; calls?: _Calls; constants?: _Constants; } declare type SubstrateRpcMethods = Record>; declare type SubstrateRpcStorageEntries = Record>; declare type SubstrateRpcCalls = Record>; declare type SubstrateRpcConstants = Record>; export {};