import { CredentialResolver, IssuerResolver } from '.'; import { VerificationResult } from './models'; import { VerifiableCredential } from '@ew-did-registry/credentials-interface'; import type { RoleCredentialSubject } from '@energyweb/credential-governance'; /** * A class to verify chain of trust for a Verifiable Credential * The hierachy must only consist of VC issuance */ export declare class VCIssuerVerification { private issuerResolver; private credentialResolver; private verifyProof; constructor(issuerResolver: IssuerResolver, credentialResolver: CredentialResolver, verifyProof: (vc: string, proof_options: string) => Promise); /** * Verifies that `issuer` is authorized to issue `role` * * ```typescript * const issuerVerification = new VCIssuerVerification( * issuerResolver, * credentialResolver, * verifyCredential * ); * await issuerVerification.verifyIssuer('issuerDID', 'role'); * ``` * @param issuer DID of the issuer * @param role name of the role verifiable credential * @returns VerificationResult */ verifyIssuer(issuer: string, role: string): Promise; /** * Verifies that `role` credential was issued to `subject` * @param subject DID of the subject * @param role name of the role credential * @returns verified role credential */ verifyIssuance(subject: string, role: string): Promise>; /** * Verifies that issuer has required `role` credential * @param issuer DID of revoker * @param role name of the role credential */ private verifyIssuerCredential; }