import { DomainReader } from '@energyweb/credential-governance'; import type { IIssuerDefinition } from '@energyweb/credential-governance'; /** * An interface for Resolution of Issuers for a namespace */ export interface IssuerResolver { /** * Fetches authorised issuers for the provided namespace * @param namespace for which the issuers needs to be fetched * @returns IIssuerDefinition for the namespace */ getIssuerDefinition(namespace: string): Promise; } /** * Resolves issuers definition by reading smart contract state via an Ethers provider */ export declare class EthersProviderIssuerResolver implements IssuerResolver { private _domainReader; constructor(domainReader: DomainReader); /** * Fetches authorised issuers for the provided namespace * * ```typescript * const issuerResolver = new EthersProviderIssuerResolver(domainReader); * const role = 'sampleRole'; * const issuers = issuerResolver.getIssuerDefinition(sampleRole); * ``` * @param namespace for which the issuers need to be fetched * @returns IIssuerDefinition for the namespace from blockchain contract */ getIssuerDefinition(namespace: string): Promise; }