import type { IKeyringPair } from "@polkadot/types/types"; import { DIDDocument, IConnect, IDIDDocumentMetadata, IDIDResolutionMetadata, IDIDResolutionResult } from "../types"; import { DecentralisedFileStoreConnector } from "./connection"; import { ExtrinsicResults } from "./utils"; export interface IProcedure { resolve(didUri: string): Promise; revoke(account: IKeyringPair, didURI: string): Promise; constructDIDDocument(account: IKeyringPair, didDocument: DIDDocument, didDocumentMetadata: IDIDDocumentMetadata, didResolutionMetadata: IDIDResolutionMetadata, didRef: string, publicKeys: Array): Promise; updateDIDDocument(account: IKeyringPair, didDocument: DIDDocument, didDocumentMetadata: IDIDDocumentMetadata, didResolutionMetadata: IDIDResolutionMetadata, didRef: string, publicKeys: Array): Promise; dispatch(account: IKeyringPair, palletRpc: string, callable: string, transformed: any): Promise; saveToDistributedStorage(data: any, headers: any): Promise; } /** * Facilitates DID operations */ export declare class Procedure implements IProcedure { private connector; private fileConnector; constructor(connector?: IConnect, fileConnector?: DecentralisedFileStoreConnector); /** * * @param didUri Resolves a Decentralised Identifier by the DID URI * @returns Promise */ resolve(didURI: string): Promise; /** * @param didUri Revoke a Decentralised Identifier by the DID URI * Simply pass the DID URI to this method to revoke a DID. * This action cannot be undone. * @returns Promise */ revoke(account: IKeyringPair, didURI: string): Promise; /** * Updates a DID Document metadata * Use the method `saveToDistributedStorage` to publish a new version of the DID document and * then include the new CID * @param account | Polkadot Account * @param didDocument | DID Document represented in a JSON Structure * - DID Document gets update on IPFS or Decentralosed data store * @param didDocumentMetadata | DID Documen metadata JSON List * @param didResolutionMetadata | DID Resolution metadata JSON list * @param didRef | IPFS URI for the the DID * @param publicKeys | Aithorised public keys * @returns Promise */ updateDIDDocument(account: IKeyringPair, didDocument: DIDDocument, didDocumentMetadata: IDIDDocumentMetadata, didResolutionMetadata: IDIDResolutionMetadata, didRef: string, publicKeys: Array): Promise; /** * Saves a DID document to a Decentralised file store * @param data | A Valid data object * @param headers * @returns CID wrapped in a Promise */ saveToDistributedStorage(data: any, headers: any): Promise; /** * Saves a DID Document on chain * @param account | Polkadot Account * @param didDocument | DID Document represented in a JSON Structure * @param didDocumentMetadata | DID Documen metadata JSON List * @param didResolutionMetadata | DID Resolution metadata JSON list * @param didRef | IPFS URI for the the DID * @param publicKeys | Aithorised public keys * @returns Promise */ constructDIDDocument(account: IKeyringPair, didDocument: DIDDocument, didDocumentMetadata: IDIDDocumentMetadata, didResolutionMetadata: IDIDResolutionMetadata, didRef: string, publicKeys: Array): Promise; /** * Sends a transform to the TackBack Chain. * @param account | Polkadot Account which analogous to `IKeyringPair` * @param palletRpc | RPC module in DID Pallet * @param callable | RPC method in DID Pallet * @param transformed | A valid transform object * @returns */ dispatch(account: IKeyringPair, palletRpc: string, callable: string, transformed: any): Promise; } //# sourceMappingURL=procedure.d.ts.map