import { DDO, MetaData, ServiceType } from '../../ddo'; import { Account } from '../Account'; import { SubscribablePromise } from '../../utils'; import { InstantiableConfig } from '../../Instantiable.abstract'; import { TxParameters, RoyaltyScheme } from '../../keeper'; import { Nevermined } from '../../sdk'; import { ContractReceipt } from 'ethers'; import { DIDResolvePolicy, RegistryBaseApi } from './RegistryBaseApi'; import { CreateProgressStep, OrderProgressStep, UpdateProgressStep } from '../ProgressSteps'; import { Providers } from '../Provider'; import { Babysig, AssetAttributes } from '../../models'; export declare enum PublishMetadata { OnlyMetadataAPI = 0, IPFS = 1, Filecoin = 2, Arweave = 3 } export interface RoyaltyAttributes { royaltyKind: RoyaltyKind; scheme: RoyaltyScheme; amount: number; } export declare enum RoyaltyKind { Standard = 0, Curve = 1, Legacy = 2 } export declare function getRoyaltyScheme(nvm: Nevermined, kind: RoyaltyKind): RoyaltyScheme; export declare function getRoyaltyAttributes(nvm: Nevermined, kind: RoyaltyKind, amount: number): RoyaltyAttributes; export declare class AssetsApi extends RegistryBaseApi { providers: Providers; constructor(config: InstantiableConfig); resolve(did: string, policy?: DIDResolvePolicy): Promise; create(assetAttributes: AssetAttributes, publisherAccount: Account, publishMetadata?: PublishMetadata, txParams?: TxParameters): SubscribablePromise; update(did: string, metadata: MetaData, publisherAccount: Account, publishMetadata?: PublishMetadata, txParams?: TxParameters): SubscribablePromise; order(did: string, consumerAccount: Account, txParams?: TxParameters): SubscribablePromise; access(agreementId: string, did: string, consumerAccount: Account, resultPath?: string, fileIndex?: number, buyer?: string, babysig?: Babysig): Promise; owner(did: string): Promise; ownerAssets(owner: string): Promise; transferOwnership(did: string, newOwner: string, txParams?: TxParameters): Promise; consumerAssets(consumerAccount: string): Promise; retire(did: string): Promise; download(did: string, ownerAccount: Account, resultPath?: string, fileIndex?: number, serviceType?: ServiceType, buyer?: string, babysig?: Babysig): Promise; grantPermissions(did: string, address: string, ownerAccount: Account, txParams?: TxParameters): Promise; revokePermissions(did: string, address: string, ownerAccount: Account, txParams?: TxParameters): Promise; getPermissions(did: string, address: string): Promise; getNftContractAddress(ddo: DDO): string | number | string[]; }