import { InstantiableConfig } from '../../../../Instantiable.abstract'; import { ConditionContext, ConditionMethod, ConditionParameters, ProviderCondition } from '../Condition.abstract'; import { Account } from '../../../../nevermined'; import { TxParameters } from '../../ContractBase'; import { BigNumber } from '../../../../utils'; import { ServiceCommon } from '../../../..'; export interface TransferNFTConditionContext extends ConditionContext { providerId: string; consumerId: string; nftAmount: BigNumber; } export declare class TransferNFTCondition extends ProviderCondition { static getInstance(config: InstantiableConfig): Promise; params(did: string, nftHolder: string, nftReceiver: string, nftAmount: BigNumber, lockCondition: string, nftContractAddress?: string, willBeTransferred?: boolean): ConditionParameters>; nftContractFromService(service: ServiceCommon): string; paramsFromDDO({ ddo, service, providerId, consumerId, nftAmount }: TransferNFTConditionContext, lockCondition: any): Promise>>; fulfill(agreementId: string, did: string, nftReceiver: string, nftAmount: BigNumber, nftAddress: string, lockPaymentCondition: string, transfer?: boolean, from?: Account, txParams?: TxParameters): Promise; fulfillForDelegate(agreementId: string, did: string, nftHolder: string, nftReceiver: string, nftAmount: BigNumber, lockPaymentCondition: string, nftAddress: string, transferAsset?: boolean, from?: Account, txParams?: TxParameters): Promise; nodeMethod(): ConditionMethod; }