import { CredentialPayload } from '@veramo/core';
import { IAgentContext } from '@veramo/core';
import { IAgentPlugin } from '@veramo/core';
import { IPluginMethodMap } from '@veramo/core';

export declare enum events {
    CREDENTIAL_VERIFIED = "credentialVerified"
}

export declare type IRequiredContext = IAgentContext<Record<string, never>>;

export declare interface IVcApiVerifierArgs {
    verifyUrl: string;
}

export declare interface IVcApiVerifierClient extends IPluginMethodMap {
    vcApiClientVerifyCredential(args: IVerifyCredentialArgs, context: IRequiredContext): Promise<IVerifyCredentialResult>;
}

export declare interface IVerifyCredentialArgs {
    credential: CredentialPayload;
}

export declare interface IVerifyCredentialResult {
    checks: string[];
    errors: string[];
    warnings: string[];
}

/**
 * @public
 */
export declare const schema: any;

/**
 * {@inheritDoc IVcApiVerifier}
 */
export declare class VcApiVerifierClient implements IAgentPlugin {
    readonly schema: any;
    readonly methods: IVcApiVerifierClient;
    private readonly verifyUrl;
    constructor(options: IVcApiVerifierArgs);
    /** {@inheritDoc IVcApiVerifier.vcApiClientVerifyCredential} */
    private vcApiClientVerifyCredential;
}

export { }
