import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber'; import { SecretKey } from '@airgap/module-kit'; import { SubstrateAccountId } from '../../data/account/address/SubstrateAddress'; import { TypedSubstrateAddress } from '../../data/account/address/SubstrateAddressFactory'; import { SubstrateTransaction, SubstrateTransactionType } from '../../data/transaction/SubstrateTransaction'; import { SubstrateProtocolConfiguration } from '../../types/configuration'; import { SubstrateTransactionDetails, SubstrateTransactionParameters } from '../../types/transaction'; export interface SubstrateTransactionController { prepareSubmittableTransactions(accountId: SubstrateAccountId>, available: BigNumber | string, params: SubstrateTransactionParameters[]): Promise; createTransaction(type: SubstrateTransactionType, accountId: SubstrateAccountId>, tip?: string | number | BigNumber, args?: any, chainHeight?: number | BigNumber, nonce?: number | BigNumber): Promise>; signTransaction(secretKey: SecretKey, transaction: SubstrateTransaction, payload: string): Promise>; encodeDetails(txs: SubstrateTransactionDetails[]): string; decodeDetails(serialized: string): SubstrateTransactionDetails[]; calculateTransactionFee(transaction: SubstrateTransaction): Promise; estimateTransactionFees(accountId: SubstrateAccountId>, transationTypes: [SubstrateTransactionType, any][]): Promise; }