import { KmsJwkPrivateEc, KmsJwkPublicEc } from "./jwk/kty/ec/ecJwk.js";
import { KmsJwkPrivateOct, KmsJwkPublicOct } from "./jwk/kty/oct/octJwk.js";
import { KmsJwkPrivateOkp, KmsJwkPublicOkp } from "./jwk/kty/okp/okpJwk.js";
import { KmsJwkPrivateRsa, KmsJwkPublicRsa } from "./jwk/kty/rsa/rsaJwk.js";
import { KmsJwkPrivate, KmsJwkPrivateAsymmetric, KmsJwkPrivateFromKmsJwkPublic, KmsJwkPublic, KmsJwkPublicAsymmetric, KmsJwkPublicFromCreateType, KmsJwkPublicFromKmsJwkPrivate, assertJwkAsymmetric, isJwkAsymmetric, publicJwkFromPrivateJwk } from "./jwk/knownJwk.js";
import { KnownJwaContentEncryptionAlgorithm, KnownJwaContentEncryptionAlgorithms, KnownJwaKeyAgreementAlgorithm, KnownJwaKeyAgreementAlgorithms, KnownJwaKeyEncryptionAlgorithm, KnownJwaKeyEncryptionAlgorithms, KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from "./jwk/jwa.js";
import { assertSupportedEncryptionAlgorithm, assertSupportedKeyAgreementAlgorithm } from "./jwk/assertSupported.js";
import { P256PublicJwk } from "./jwk/kty/ec/P256PublicJwk.js";
import { P384PublicJwk } from "./jwk/kty/ec/P384PublicJwk.js";
import { P521PublicJwk } from "./jwk/kty/ec/P521PublicJwk.js";
import { Secp256k1PublicJwk } from "./jwk/kty/ec/Secp256k1PublicJwk.js";
import { derEcSignatureToRaw, rawEcSignatureToDer } from "./jwk/kty/ec/ecSignature.js";
import { Ed25519PublicJwk } from "./jwk/kty/okp/Ed25519PublicJwk.js";
import { X25519PublicJwk } from "./jwk/kty/okp/X25519PublicJwk.js";
import { RsaPublicJwk } from "./jwk/kty/rsa/RsaPublicJwk.js";
import { Jwk, JwkCommon } from "./jwk/jwk.js";
import { assertKeyAllowsDecrypt, assertKeyAllowsDerive, assertKeyAllowsEncrypt, assertKeyAllowsSign, assertKeyAllowsVerify, keyAllowsDecrypt, keyAllowsEncrypt, keyAllowsSign, keyAllowsVerify } from "./jwk/keyOps.js";
import { allowedEncryptionAlgsForKey, assertAllowedEncryptionAlgForKey, supportedEncryptionAlgsForKey } from "./jwk/alg/encryption.js";
import { allowedSigningAlgsForSigningKey, assertAllowedSigningAlgForKey, supportedSigningAlgsForKey } from "./jwk/alg/signing.js";
import { allowedKeyDerivationAlgsForKey, assertAllowedKeyDerivationAlgForKey, supportedKeyDerivationAlgsForKey } from "./jwk/alg/keyDerivation.js";
import { getJwkHumanDescription } from "./jwk/humanDescription.js";
import { assertAsymmetricJwkKeyTypeMatches, assymetricJwkKeyTypeMatches, assymetricPublicJwkMatches } from "./jwk/equals.js";
import { PublicJwk } from "./jwk/PublicJwk.js";
import { KmsCreateKeyForSignatureAlgorithmOptions, KmsCreateKeyOptions, KmsCreateKeyReturn, KmsCreateKeyType, KmsCreateKeyTypeAssymetric, KmsCreateKeyTypeEc, KmsCreateKeyTypeOct, KmsCreateKeyTypeOkp, KmsCreateKeyTypeRsa } from "./options/KmsCreateKeyOptions.js";
import { KmsDeleteKeyOptions } from "./options/KmsDeleteKeyOptions.js";
import { KmsRandomBytesOptions, KmsRandomBytesReturn } from "./options/KmsRandomBytesOptions.js";
import { KmsSignOptions, KmsSignReturn } from "./options/KmsSignOptions.js";
import { KmsVerifyOptions, KmsVerifyReturn } from "./options/KmsVerifyOptions.js";
import { KmsImportKeyOptions, KmsImportKeyReturn } from "./options/KmsImportKeyOptions.js";
import { KmsGetPublicKeyOptions } from "./options/KmsGetPublicKeyOptions.js";
import { KmsEncryptDataEncryption, KmsEncryptDataEncryptionAesCbc, KmsEncryptDataEncryptionAesGcm, KmsEncryptDataEncryptionX20c, KmsEncryptOptions, KmsEncryptReturn, KmsEncryptedKey } from "./options/KmsEncryptOptions.js";
import { KmsDecryptDataDecryption, KmsDecryptDataDecryptionAesCbc, KmsDecryptDataDecryptionAesGcm, KmsDecryptDataDecryptionC20p, KmsDecryptOptions, KmsDecryptReturn } from "./options/KmsDecryptOptions.js";
import { KmsJwkPublicEcdh, KmsKeyAgreementEcdhEs, KmsKeyAgreementEncryptEcdhEsKw, KmsKeyAgreementEncryptEcdhHsalsa20, KmsKeyAgreementEncryptOptions } from "./options/KmsKeyAgreementEncryptOptions.js";
import { KmsKeyAgreementDecryptEcdhEsKw, KmsKeyAgreementDecryptEcdhHsalsa20, KmsKeyAgreementDecryptOptions } from "./options/KmsKeyAgreementDecryptOptions.js";
import { KmsOperation, KmsOperationCreateKey, KmsOperationDecrypt, KmsOperationDeleteKey, KmsOperationEncrypt, KmsOperationImportKey, KmsOperationSign, KmsOperationVerify, getKmsOperationHumanDescription } from "./options/KmsOperation.js";
import { KeyManagementService } from "./KeyManagementService.js";
import { KeyManagementModuleConfig, KeyManagementModuleConfigOptions } from "./KeyManagementModuleConfig.js";
import { KeyManagementApi } from "./KeyManagementApi.js";
import { KeyManagementModule } from "./KeyManagementModule.js";
import { KeyManagementError } from "./error/KeyManagementError.js";
import { KeyManagementKeyExistsError } from "./error/KeyManagementKeyExistsError.js";
import { KeyManagementKeyNotFoundError } from "./error/KeyManagementKeyNotFoundError.js";
import { KeyManagementAlgorithmNotSupportedError } from "./error/KeyManagementAlgorithmNotSupportedError.js";
import { legacyKeyIdFromPublicJwk } from "./legacy.js";

//#region src/modules/kms/index.d.ts
declare namespace index_d_exports {
  export { Ed25519PublicJwk, Jwk, JwkCommon, KeyManagementAlgorithmNotSupportedError, KeyManagementApi, KeyManagementError, KeyManagementKeyExistsError, KeyManagementKeyNotFoundError, KeyManagementModule, KeyManagementModuleConfig, KeyManagementModuleConfigOptions, KeyManagementService, KmsCreateKeyForSignatureAlgorithmOptions, KmsCreateKeyOptions, KmsCreateKeyReturn, KmsCreateKeyType, KmsCreateKeyTypeAssymetric, KmsCreateKeyTypeEc, KmsCreateKeyTypeOct, KmsCreateKeyTypeOkp, KmsCreateKeyTypeRsa, KmsDecryptDataDecryption, KmsDecryptDataDecryptionAesCbc, KmsDecryptDataDecryptionAesGcm, KmsDecryptDataDecryptionC20p, KmsDecryptOptions, KmsDecryptReturn, KmsDeleteKeyOptions, KmsEncryptDataEncryption, KmsEncryptDataEncryptionAesCbc, KmsEncryptDataEncryptionAesGcm, KmsEncryptDataEncryptionX20c, KmsEncryptOptions, KmsEncryptReturn, KmsEncryptedKey, KmsGetPublicKeyOptions, KmsImportKeyOptions, KmsImportKeyReturn, KmsJwkPrivate, KmsJwkPrivateAsymmetric, KmsJwkPrivateEc, KmsJwkPrivateFromKmsJwkPublic, KmsJwkPrivateOct, KmsJwkPrivateOkp, KmsJwkPrivateRsa, KmsJwkPublic, KmsJwkPublicAsymmetric, KmsJwkPublicEc, KmsJwkPublicEcdh, KmsJwkPublicFromCreateType, KmsJwkPublicFromKmsJwkPrivate, KmsJwkPublicOct, KmsJwkPublicOkp, KmsJwkPublicRsa, KmsKeyAgreementDecryptEcdhEsKw, KmsKeyAgreementDecryptEcdhHsalsa20, KmsKeyAgreementDecryptOptions, KmsKeyAgreementEcdhEs, KmsKeyAgreementEncryptEcdhEsKw, KmsKeyAgreementEncryptEcdhHsalsa20, KmsKeyAgreementEncryptOptions, KmsOperation, KmsOperationCreateKey, KmsOperationDecrypt, KmsOperationDeleteKey, KmsOperationEncrypt, KmsOperationImportKey, KmsOperationSign, KmsOperationVerify, KmsRandomBytesOptions, KmsRandomBytesReturn, KmsSignOptions, KmsSignReturn, KmsVerifyOptions, KmsVerifyReturn, KnownJwaContentEncryptionAlgorithm, KnownJwaContentEncryptionAlgorithms, KnownJwaKeyAgreementAlgorithm, KnownJwaKeyAgreementAlgorithms, KnownJwaKeyEncryptionAlgorithm, KnownJwaKeyEncryptionAlgorithms, KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms, P256PublicJwk, P384PublicJwk, P521PublicJwk, PublicJwk, RsaPublicJwk, Secp256k1PublicJwk, X25519PublicJwk, allowedEncryptionAlgsForKey, allowedKeyDerivationAlgsForKey, allowedSigningAlgsForSigningKey, assertAllowedEncryptionAlgForKey, assertAllowedKeyDerivationAlgForKey, assertAllowedSigningAlgForKey, assertAsymmetricJwkKeyTypeMatches, assertJwkAsymmetric, assertKeyAllowsDecrypt, assertKeyAllowsDerive, assertKeyAllowsEncrypt, assertKeyAllowsSign, assertKeyAllowsVerify, assertSupportedEncryptionAlgorithm, assertSupportedKeyAgreementAlgorithm, assymetricJwkKeyTypeMatches, assymetricPublicJwkMatches, derEcSignatureToRaw, getJwkHumanDescription, getKmsOperationHumanDescription, isJwkAsymmetric, keyAllowsDecrypt, keyAllowsEncrypt, keyAllowsSign, keyAllowsVerify, legacyKeyIdFromPublicJwk, publicJwkFromPrivateJwk, rawEcSignatureToDer, supportedEncryptionAlgsForKey, supportedKeyDerivationAlgsForKey, supportedSigningAlgsForKey };
}
//#endregion
export { index_d_exports };
//# sourceMappingURL=index.d.ts.map