import { IPluginMethodMap, CredentialPayload, IAgentContext, IAgentPlugin } from '@veramo/core';
import { VerifiableCredentialSP } from '@sphereon/ssi-sdk.core';

interface IVcApiIssuerClient extends IPluginMethodMap {
    vcApiClientIssueCredential(args: IIssueCredentialArgs, context: IRequiredContext): Promise<VerifiableCredentialSP>;
}
interface IVcApiIssuerArgs {
    issueUrl: string;
    authorizationToken: string;
}
interface IIssueCredentialArgs {
    credential: CredentialPayload;
}
declare enum events {
    CREDENTIAL_ISSUED = "credentialIssued"
}
type IRequiredContext = IAgentContext<Record<string, never>>;

/**
 * {@inheritDoc IVcApiIssuer}
 */
declare class VcApiIssuerClient implements IAgentPlugin {
    readonly schema: any;
    readonly methods: IVcApiIssuerClient;
    private readonly issueUrl;
    private readonly authorizationToken;
    constructor(options: IVcApiIssuerArgs);
    /** {@inheritDoc IVcApiIssuer.vcApiClientIssueCredential} */
    private vcApiClientIssueCredential;
}

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

export { type IIssueCredentialArgs, type IRequiredContext, type IVcApiIssuerArgs, type IVcApiIssuerClient, VcApiIssuerClient, events, schema };
