import { ICreateVerifiableCredentialArgs, ICreateVerifiablePresentationArgs, IKey, IssuerAgentContext, IVerifyCredentialArgs, IVerifyPresentationArgs, IVerifyResult, ProofFormat, VerifiableCredential, VerifiablePresentation, VerifierAgentContext } from '@veramo/core-types';
import { ICredentialProvider, ProofFormatQuery, TentativeVerificationQuery } from '@veramo/credential-w3c';
/**
 * A Veramo Credential sub-plugin that implements
 * a {@link @veramo/credential-w3c#ICredentialProvider | ICredentialProvider} with support for
 * EthereumEIP712Signature2021 proofs.
 *
 * @beta This API may change without a BREAKING CHANGE notice.
 * @see {@link https://w3c-ccg.github.io/ethereum-eip712-signature-2021-spec/ | EthereumEIP712Signature2021 spec }
 * @see {@link https://www.w3.org/TR/vc-data-model-1.1/ | VC 1.1 data model}.
 */
export declare class CredentialProviderEIP712 implements ICredentialProvider {
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.getProofFormatsSupportedForKey} */
    getProofFormatsSupportedForKey(key: IKey): ProofFormat[];
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.canIssueCredentialType} */
    canIssueProofFormat(query: ProofFormatQuery): boolean;
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.canVerifyDocumentType} */
    canVerifyDocumentType(query: TentativeVerificationQuery): boolean;
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.createVerifiableCredential} */
    createVerifiableCredential(args: ICreateVerifiableCredentialArgs, context: IssuerAgentContext): Promise<VerifiableCredential>;
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.verifyCredential} */
    verifyCredential(args: IVerifyCredentialArgs, context: VerifierAgentContext): Promise<IVerifyResult>;
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.createVerifiablePresentation} */
    createVerifiablePresentation(args: ICreateVerifiablePresentationArgs, context: IssuerAgentContext): Promise<VerifiablePresentation>;
    /** {@inheritdoc @veramo/credential-w3c#ICredentialProvider.verifyPresentation} */
    verifyPresentation(args: IVerifyPresentationArgs, context: VerifierAgentContext): Promise<IVerifyResult>;
    /**
     * Checks if a key is suitable for signing EIP712 payloads.
     * This relies on the metadata set by the key management system to determine if this key can sign EIP712 payloads.
     *
     * @param k - the key to check
     *
     * @internal
     */
    matchKeyForEIP712(k: IKey): boolean;
}
//# sourceMappingURL=CredentialProviderEIP712.d.ts.map