import { ApiPromise, SubmittableResult } from '@polkadot/api'; import { SubmittableExtrinsic } from '@polkadot/api/types'; import { Environment, Transfer, TransferType } from '../../types'; import { BaseAssetTransfer } from '../BaseAssetTransfer'; import { SubstrateFee } from '.'; /** * Class used for sending fungible and non-fungible transfers from Substrate based chains. * * @example * const wsProvider = new WsProvider('wss://rpc.parachain.io'); * const api = await ApiPromise.create({ provider: wsProvider }); * * const parachainID = 123; * * const assetTransfer = new SubstrateAssetTransfer(); * await assetTransfer.init(api, Environment.MAINNET, parachainID); * const domains = assetTransfer.config.getDomains(); * const resources = assetTransfer.config.getDomainResources(); * const transfer: Transfer = { * from: domains[1], * to: domains[0], * resource: resource[2], * sender: , * recipient: , * amount: { * amount: 200 * } * } * const fee = await assetTransfer.getFee(transfer); * const transferTx = await assetTransfer.buildTransferTransaction(transfer, fee); * * */ export declare class SubstrateAssetTransfer extends BaseAssetTransfer { private apiPromise; init(apiPromise: ApiPromise, environment?: Environment): Promise; /** * Calculates fee required for the requested transfer. * * @param transfer instance of transfer * @returns fee that needs to paid */ getFee(transfer: Transfer): Promise; /** * Builds an unsigned transfer transaction. * * @param transfer Instance of transfer * @param fee The fee to be paid for the transfer * @returns {SubmittableExtrinsic<'promise', SubmittableResult>} SubmittableExtrinsic which can be signed and sent */ buildTransferTransaction(transfer: Transfer, fee: SubstrateFee): SubmittableExtrinsic<'promise', SubmittableResult>; } //# sourceMappingURL=assetTransfer.d.ts.map