import { Ed25519PublicJwk } from "../../../kms/jwk/kty/okp/Ed25519PublicJwk.js";
import { VerificationMethod } from "./VerificationMethod.js";
import { PublicJwk } from "../../../kms/jwk/PublicJwk.js";

//#region src/modules/dids/domain/verificationMethod/Ed25519VerificationKey2018.d.ts
declare const VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018 = "Ed25519VerificationKey2018";
type Ed25519VerificationKey2018 = VerificationMethod & {
  type: typeof VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018;
};
/**
 * Get a Ed25519VerificationKey2018 verification method.
 */
declare function getEd25519VerificationKey2018({
  publicJwk,
  id,
  controller
}: {
  id: string;
  publicJwk: PublicJwk<Ed25519PublicJwk>;
  controller: string;
}): VerificationMethod;
/**
 * Check whether a verification method is a Ed25519VerificationKey2018 verification method.
 */
declare function isEd25519VerificationKey2018(verificationMethod: VerificationMethod): verificationMethod is Ed25519VerificationKey2018;
/**
 * Get a key from a Ed25519VerificationKey2018 verification method.
 */
/**
 * Get a public jwk from a Ed25519VerificationKey2018 verification method.
 */
declare function getPublicJwkFromEd25519VerificationKey2018(verificationMethod: Ed25519VerificationKey2018): PublicJwk<Ed25519PublicJwk>;
//#endregion
export { VERIFICATION_METHOD_TYPE_ED25519_VERIFICATION_KEY_2018, getEd25519VerificationKey2018, getPublicJwkFromEd25519VerificationKey2018, isEd25519VerificationKey2018 };
//# sourceMappingURL=Ed25519VerificationKey2018.d.ts.map