import type { RoleCredentialSubject } from '@energyweb/credential-governance'; import type { VerifiableCredential, StatusList2021Entry } from '@ew-did-registry/credentials-interface'; import * as jwt from 'jsonwebtoken/index'; export interface VerificationResult { verified: boolean; error: string; } export declare const verificationResult: (verified: boolean, error: string) => VerificationResult; export interface ClaimData { fields: { [key: string]: string | number; }; claimType: string; claimTypeVersion: number; } export interface RolePayload extends jwt.JwtPayload { credentialStatus?: StatusList2021Entry; claimData: ClaimData; signer: string; } export interface RoleEIP191JWT { payload: RolePayload; eip191Jwt: string; } /** * Maps verifiable credential issuer to his DID * @param issuer issuer of verifiable credential * @returns DID of issuer */ export declare const issuerDID: (issuer: VerifiableCredential['issuer']) => string; /** * Upgrades the DID fields of a RolePayload with the chain identifier * @param roleJwt claim * @returns */ export declare const transformClaim: (roleJwt: RoleEIP191JWT) => RoleEIP191JWT | undefined; /** * Filters valid RoleEIP191Jwt * @param claim credentials * @returns */ export declare const filterOutMaliciousClaims: (claim: RoleEIP191JWT | undefined) => claim is RoleEIP191JWT; /** * Check if a claim is EIP191Jwt or not * @param claim claim to validated * @returns */ export declare function isEIP191Jwt(claim: RoleEIP191JWT | unknown): claim is RoleEIP191JWT; /** * Validates if a credential is valid Verifiable Credential * @param vc * @returns */ export declare function isVerifiableCredential(vc: VerifiableCredential | unknown): vc is VerifiableCredential; /** * Check if given value is a valid IPFS CID. * * ```typescript * isCID('Qm...'); * ``` * * @param {Any} hash value to check * */ export declare function isCID(hash: unknown): boolean;