import { X25519PublicJwk } from "../../../kms/jwk/kty/okp/X25519PublicJwk.mjs";
import { PublicJwk } from "../../../kms/jwk/PublicJwk.mjs";
import "../../../kms/index.mjs";
import { VerificationMethod } from "./VerificationMethod.mjs";

//#region src/modules/dids/domain/verificationMethod/X25519KeyAgreementKey2019.d.ts
declare const VERIFICATION_METHOD_TYPE_X25519_KEY_AGREEMENT_KEY_2019 = "X25519KeyAgreementKey2019";
type X25519KeyAgreementKey2019 = VerificationMethod & {
  type: typeof VERIFICATION_METHOD_TYPE_X25519_KEY_AGREEMENT_KEY_2019;
};
/**
 * Get a X25519KeyAgreementKey2019 verification method.
 */
declare function getX25519KeyAgreementKey2019({
  publicJwk,
  id,
  controller
}: {
  id: string;
  publicJwk: PublicJwk<X25519PublicJwk>;
  controller: string;
}): VerificationMethod;
/**
 * Check whether a verification method is a X25519KeyAgreementKey2019 verification method.
 */
declare function isX25519KeyAgreementKey2019(verificationMethod: VerificationMethod): verificationMethod is X25519KeyAgreementKey2019;
/**
 * Get a key from a X25519KeyAgreementKey2019 verification method.
 */
declare function getPublicJwkFrommX25519KeyAgreementKey2019(verificationMethod: X25519KeyAgreementKey2019): PublicJwk<X25519PublicJwk>;
//#endregion
export { VERIFICATION_METHOD_TYPE_X25519_KEY_AGREEMENT_KEY_2019, getPublicJwkFrommX25519KeyAgreementKey2019, getX25519KeyAgreementKey2019, isX25519KeyAgreementKey2019 };
//# sourceMappingURL=X25519KeyAgreementKey2019.d.mts.map