import { ServiceAgreementTemplate, ServiceNFTSales, ServiceType, ValidationParams } from '../../../ddo'; import { InstantiableConfig } from '../../../Instantiable.abstract'; import { DDO } from '../../../sdk'; import { AgreementInstance } from './AgreementTemplate.abstract'; import { BaseTemplate } from './BaseTemplate.abstract'; import { EscrowPaymentCondition, LockPaymentCondition, TransferNFTCondition } from '../conditions'; import { BigNumber } from '../../../utils'; export interface NFTSalesTemplateParams { consumerId: string; providerId: string; nftAmount: BigNumber; } export declare class NFTSalesTemplate extends BaseTemplate { static getInstance(config: InstantiableConfig): Promise; service(): ServiceType; name(): string; description(): string; params(consumerId: string, nftAmount: BigNumber, providerId?: string): NFTSalesTemplateParams; paramsGen({ consumer_address, nft_amount }: ValidationParams): Promise; lockConditionIndex(): number; conditions(): [ LockPaymentCondition, TransferNFTCondition, EscrowPaymentCondition ]; instanceFromDDO(agreementIdSeed: string, ddo: DDO, creator: string, parameters: NFTSalesTemplateParams): Promise>; getServiceAgreementTemplate(): Promise; }