import { IDIDDocument, DelegateTypes, IPublicKey, IServiceEndpoint, IAuthentication, DocumentSelector, IDIDLogData, } from '@ew-did-registry/did-resolver-interface'; import { BigNumber } from 'ethers'; /** * Interface describes the lite version of DID Document with only read functionality */ export interface IDIDDocumentLite { /** * DID used in read methods if not provided explicitly */ did: string; /** * Returns document of the given `did` * * @param did {string} */ read(did?: string): Promise; /** * Returns the current owner for certain DID. * * @param {string} did * @returns {Promise} */ getController(did?: string): Promise; /** * Checks if the delegate is present for a particular DID. * Returns boolean. * * @param {DelegateTypes} delegateType * @param {string} delegateDID * @param {string} did * @returns {Promise} */ isValidDelegate( delegateType: DelegateTypes, delegateDID: string, did?: string, ): Promise; /** * Finds first attribute which satisfies filter * * @param selector {{ [attr: string]: { [prop: string]: string } }} object used * to describe part of the document. `attr` is one of standard DID attributes * like `publicKey`, `serviceEndpoints` or `authentication` and `prop` - properties * of this attribute such as `type` or `value` * @param did {string} * * @returns {object | null} */ readAttribute( selector: DocumentSelector, did?: string, ): Promise; /** * Document owner public key * * @param {string} did */ ownerPubKey(did?: string): Promise; lastBlock(did?: string): Promise; readFromBlock( did: string, from: BigNumber, ): Promise; fromLogs(logs: IDIDLogData[], did?: string): IDIDDocument; }