import BigNumber from '../../../../../dependencies/src/bignumber.js-9.0.0/bignumber'; import { IAirGapTransaction } from '../../../../../interfaces/IAirGapTransaction'; import { SCALECompatAddressType, SubstrateAccountId, SubstrateCompatAddressType } from '../../../compat/SubstrateCompatAddress'; import { SubstrateCompatSignatureType } from '../../../compat/SubstrateCompatSignature'; import { SubstrateNetwork } from '../../../SubstrateNetwork'; import { SubstrateCall } from '../metadata/decorator/call/SubstrateCall'; import { SCALEDecodeResult } from '../scale/SCALEDecoder'; import { SCALEClass } from '../scale/type/SCALEClass'; import { SCALECompactInt } from '../scale/type/SCALECompactInt'; import { EraConfig, SCALEEra } from '../scale/type/SCALEEra'; import { SCALEEncodeConfig } from '../scale/type/SCALEType'; import { SubstrateTransactionMethod } from './method/SubstrateTransactionMethod'; import { SubstrateSignatureType } from './SubstrateSignature'; interface SubstrateTransactionConfigBase { from: SubstrateAccountId; args: any; tip: number | BigNumber; methodId: SubstrateCall; era: EraConfig | null; nonce: number | BigNumber; } interface SubstrateTransactionConfigWithSignature extends SubstrateTransactionConfigBase { signature: SubstrateCompatSignatureType[Network]; } interface SubstrateTransactionConfigWithSignatureType extends SubstrateTransactionConfigBase { signatureType: SubstrateSignatureType; } declare type SubstrateTransactionConfig = SubstrateTransactionConfigWithSignature | SubstrateTransactionConfigWithSignatureType; export declare enum SubstrateTransactionType { TRANSFER = 0, BOND = 1, UNBOND = 2, REBOND = 3, BOND_EXTRA = 4, WITHDRAW_UNBONDED = 5, NOMINATE = 6, CANCEL_NOMINATION = 7, COLLECT_PAYOUT = 8, SET_PAYEE = 9, SET_CONTROLLER = 10, SUBMIT_BATCH = 11, M_NOMINATE = 12, M_LEAVE_NOMINATORS = 13, M_REVOKE_NOMINATION = 14, M_NOMINATOR_BOND_MORE = 15, M_NOMINATOR_BOND_LESS = 16 } export declare class SubstrateTransaction extends SCALEClass { readonly network: Network; readonly type: SubstrateTransactionType; readonly signer: SCALECompatAddressType[Network]; readonly signature: SubstrateCompatSignatureType[Network]; readonly era: SCALEEra; readonly nonce: SCALECompactInt; readonly tip: SCALECompactInt; readonly method: SubstrateTransactionMethod; static create(network: Network, type: SubstrateTransactionType, config: SubstrateTransactionConfig): SubstrateTransaction; static fromTransaction(transaction: SubstrateTransaction, config?: Partial>): SubstrateTransaction; static decode(network: Network, runtimeVersion: number | undefined, type: SubstrateTransactionType, raw: string): SCALEDecodeResult>; protected scaleFields: (SCALECompactInt | SCALEEra | SubstrateTransactionMethod | SCALECompatAddressType[Network] | SubstrateCompatSignatureType[Network])[]; private constructor(); toString(): string; toAirGapTransactions(): Partial[]; protected _encode(config?: SCALEEncodeConfig): string; } export {};