import BigNumber from '@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber'; import { AirGapTransaction } from '@airgap/module-kit'; import { SubstrateProtocolConfiguration } from '../../types/configuration'; import { SubstrateAccountId } from '../account/address/SubstrateAddress'; import { TypedSCALEAddress, TypedSubstrateAddress } from '../account/address/SubstrateAddressFactory'; 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 { SubstrateSignature, SubstrateSignatureType } from './SubstrateSignature'; import { SCALEInt } from '../scale/type/SCALEInt'; interface SubstrateTransactionParametersBase { from: SubstrateAccountId>; args: any; tip: number | BigNumber; methodId: SubstrateCall; era: EraConfig | null; nonce: number | BigNumber; metadataHash?: string; } interface SubstrateTransactionParametersWithSignature extends SubstrateTransactionParametersBase { signature: SubstrateSignature; } interface SubstrateTransactionParametersWithSignatureType extends SubstrateTransactionParametersBase { signatureType: SubstrateSignatureType; } declare type SubstrateTransactionParameters = SubstrateTransactionParametersWithSignature | SubstrateTransactionParametersWithSignatureType; export declare type SubstrateTransactionType = 'transfer' | (keyof C['transaction']['types'] extends string ? keyof C['transaction']['types'] : never); export declare class SubstrateTransaction extends SCALEClass { readonly configuration: C; readonly type: SubstrateTransactionType; readonly signer: TypedSCALEAddress; readonly signature: SubstrateSignature; readonly era: SCALEEra; readonly nonce: SCALECompactInt; readonly tip: SCALECompactInt; readonly assetid: SCALEInt; readonly mode: SCALEInt; readonly method: SubstrateTransactionMethod; static create(configuration: C, type: SubstrateTransactionType, params: SubstrateTransactionParameters): SubstrateTransaction; static fromTransaction(transaction: SubstrateTransaction, params?: Partial>): SubstrateTransaction; static decode(configuration: C, runtimeVersion: number | undefined, type: SubstrateTransactionType, raw: string): SCALEDecodeResult>; protected scaleFields: (SCALEInt | SCALECompactInt | SCALEEra | SubstrateSignature | SubstrateTransactionMethod | TypedSCALEAddress)[]; protected scaleFieldsv3: (SCALECompactInt | SCALEEra | SubstrateSignature | SubstrateTransactionMethod | TypedSCALEAddress)[]; protected scaleFieldsHub: (SCALEInt | SCALECompactInt | SCALEEra | SubstrateSignature | SubstrateTransactionMethod | TypedSCALEAddress)[]; private constructor(); toString(): string; toAirGapTransactions(): Partial[]; protected _encode(config?: SCALEEncodeConfig): string; } export {};