import { providers } from 'ethers'; import { DidStore } from '@ew-did-registry/did-ipfs-store'; import { RegistrySettings } from '@ew-did-registry/did-resolver-interface'; import { RoleEIP191JWT } from './models'; import { CredentialResolver } from './credential-resolver'; import { VerifiableCredential } from '@ew-did-registry/credentials-interface'; import type { RoleCredentialSubject } from '@energyweb/credential-governance'; export declare class IpfsCredentialResolver implements CredentialResolver { private _ipfsStore; private _resolver; constructor(provider: providers.Provider, registrySetting: RegistrySettings, didStore: DidStore); /** * Fetches credential for the given did and role for a vc issuance hierarchy * * ```typescript * const credentialResolver = new IpfsCredentialResolver( * provider, * registrySettings, * didStore ); * const credential = credentialResolver.getCredential('did:ethr:1234', 'sampleRole'); * ``` * * @param did subject DID for which the credential needs to be fetched * @param namespace role for which the credential needs to be fetched * @returns */ getCredential(did: string, namespace: string): Promise | RoleEIP191JWT | undefined>; /** * Fetches Verifiable Credential for the given did and role for a vc issuance hierarchy * * ```typescript * const credentialResolver = new IpfsCredentialResolver( * provider, * registrySettings, * didStore ); * const credential = credentialResolver.getVerifiableCredential('did:ethr:1234', 'sampleRole'); * ``` * * @param did subject DID for which the credential needs to be fetched * @param namespace role for which the credential needs to be fetched * @returns */ getVerifiableCredential(did: string, namespace: string): Promise | undefined>; /** * Fetches RoleEIP191JWT for the given did and role for an RoleEIP191JWT issuance hierarchy * * ```typescript * const credentialResolver = new IpfsCredentialResolver( * provider, * registrySettings, * didStore ); * const credential = credentialResolver.getEIP191JWT('did:ethr:1234', 'sampleRole'); * ``` * * @param did subject DID for which the credential to be fetched * @param namespace role for which the credential need to be fetched * @returns RoleEIP191JWT */ getEIP191JWT(did: string, namespace: string): Promise; /** * Fetches all the Role eip191Jwts belonging to the subject DID * @param did subject DID * @returns RoleEIP191JWT list */ eip191JwtsOf(did: string): Promise; /** * Fetches all the Verifiable Credential belonging to the subject DID * @param did subject DID * @returns VerifiableCredential list */ credentialsOf(did: string): Promise[]>; }