import { IPluginMethodMap, CredentialPayload, IAgentContext, IAgentPlugin } from '@veramo/core';

interface IVcApiVerifierClient extends IPluginMethodMap {
    vcApiClientVerifyCredential(args: IVerifyCredentialArgs, context: IRequiredContext): Promise<IVerifyCredentialResult>;
}
interface IVcApiVerifierArgs {
    verifyUrl: string;
}
interface IVerifyCredentialArgs {
    credential: CredentialPayload;
}
interface IVerifyCredentialResult {
    checks: string[];
    errors: string[];
    warnings: string[];
}
declare enum events {
    CREDENTIAL_VERIFIED = "credentialVerified"
}
type IRequiredContext = IAgentContext<Record<string, never>>;

/**
 * {@inheritDoc IVcApiVerifier}
 */
declare class VcApiVerifierClient implements IAgentPlugin {
    readonly schema: any;
    readonly methods: IVcApiVerifierClient;
    private readonly verifyUrl;
    constructor(options: IVcApiVerifierArgs);
    /** {@inheritDoc IVcApiVerifier.vcApiClientVerifyCredential} */
    private vcApiClientVerifyCredential;
}

/**
 * @public
 */
declare const schema: any;

export { type IRequiredContext, type IVcApiVerifierArgs, type IVcApiVerifierClient, type IVerifyCredentialArgs, type IVerifyCredentialResult, VcApiVerifierClient, events, schema };
