import { ServiceAgreementTemplate, ServiceNFTAccess, ServiceType, ValidationParams } from '../../../ddo'; import { InstantiableConfig } from '../../../Instantiable.abstract'; import { DDO } from '../../../sdk'; import { AgreementInstance } from './AgreementTemplate.abstract'; import { BaseTemplate } from './BaseTemplate.abstract'; import { NFTAccessCondition, NFTHolderCondition } from '../conditions'; import { BigNumber } from '../../../utils'; export interface NFTAccessTemplateParams { holderAddress: string; amount: BigNumber; grantee: string; } export declare class NFTAccessTemplate extends BaseTemplate { static getInstance(config: InstantiableConfig): Promise; service(): ServiceType; name(): string; description(): string; params(holderAddress: string, amount?: BigNumber): NFTAccessTemplateParams; paramsGen({ consumer_address }: ValidationParams): Promise; conditions(): [NFTHolderCondition, NFTAccessCondition]; instanceFromDDO(agreementIdSeed: string, ddo: DDO, creator: string, parameters: NFTAccessTemplateParams): Promise>; getServiceAgreementTemplate(): Promise; accept(params: ValidationParams): Promise; }