import { P256PublicJwk } from "../../../kms/jwk/kty/ec/P256PublicJwk.mjs";
import { P384PublicJwk } from "../../../kms/jwk/kty/ec/P384PublicJwk.mjs";
import { P521PublicJwk } from "../../../kms/jwk/kty/ec/P521PublicJwk.mjs";
import { Secp256k1PublicJwk } from "../../../kms/jwk/kty/ec/Secp256k1PublicJwk.mjs";
import { Ed25519PublicJwk } from "../../../kms/jwk/kty/okp/Ed25519PublicJwk.mjs";
import { X25519PublicJwk } from "../../../kms/jwk/kty/okp/X25519PublicJwk.mjs";
import { RsaPublicJwk } from "../../../kms/jwk/kty/rsa/RsaPublicJwk.mjs";
import { PublicJwk } from "../../../kms/jwk/PublicJwk.mjs";
import "../../../kms/index.mjs";
import { VerificationMethod } from "./VerificationMethod.mjs";
//#region src/modules/dids/domain/verificationMethod/Ed25519VerificationKey2020.d.ts
export declare const VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020 = "Ed25519VerificationKey2020";
type Ed25519VerificationKey2020 = VerificationMethod & {
  type: typeof VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2020;
};
/**
 * Get a Ed25519VerificationKey2020 verification method.
 */
export declare function getEd25519VerificationKey2020({ publicJwk, id, controller }: {
  id: string;
  publicJwk: PublicJwk<Ed25519PublicJwk>;
  controller: string;
}): VerificationMethod;
/**
 * Check whether a verification method is a Ed25519VerificationKey2020 verification method.
 */
export declare function isEd25519VerificationKey2020(verificationMethod: VerificationMethod): verificationMethod is Ed25519VerificationKey2020;
/**
 * Get a key from a Ed25519VerificationKey2020 verification method.
 */
export declare function getPublicJwkFromEd25519VerificationKey2020(verificationMethod: Ed25519VerificationKey2020): PublicJwk<Ed25519PublicJwk | P256PublicJwk | P384PublicJwk | P521PublicJwk | RsaPublicJwk | Secp256k1PublicJwk | X25519PublicJwk>;
//#endregion
//# sourceMappingURL=Ed25519VerificationKey2020.d.mts.map