"use strict";
// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NotSupported = exports.cloneMaterial = exports.needs = exports.readOnlyProperty = exports.frozenClass = exports.immutableClass = exports.immutableBaseClass = exports.EncryptedDataKey = exports.VerificationKey = exports.SignatureKey = exports.decorateWebCryptoMaterial = exports.decorateCryptographicMaterial = exports.wrapWithKeyObjectIfSupported = exports.unwrapDataKey = exports.isDecryptionMaterial = exports.isEncryptionMaterial = exports.WebCryptoDecryptionMaterial = exports.WebCryptoEncryptionMaterial = exports.subtleFunctionForMaterial = exports.keyUsageForMaterial = exports.isCryptoKey = exports.isValidCryptoKey = exports.NodeDecryptionMaterial = exports.NodeEncryptionMaterial = exports.MultiKeyringWebCrypto = exports.MultiKeyringNode = exports.KeyringTraceFlag = exports.NodeAlgorithmSuite = exports.WebCryptoAlgorithmSuite = exports.CommittingAlgorithmSuiteIdentifier = exports.NonCommittingAlgorithmSuiteIdentifier = exports.MessageFormat = exports.SignaturePolicySuites = exports.SignaturePolicy = exports.CommitmentPolicySuites = exports.CommitmentPolicy = exports.AlgorithmSuite = exports.AlgorithmSuiteIdentifier = void 0;
var algorithm_suites_1 = require("./algorithm_suites");
Object.defineProperty(exports, "AlgorithmSuiteIdentifier", { enumerable: true, get: function () { return algorithm_suites_1.AlgorithmSuiteIdentifier; } });
Object.defineProperty(exports, "AlgorithmSuite", { enumerable: true, get: function () { return algorithm_suites_1.AlgorithmSuite; } });
Object.defineProperty(exports, "CommitmentPolicy", { enumerable: true, get: function () { return algorithm_suites_1.CommitmentPolicy; } });
Object.defineProperty(exports, "CommitmentPolicySuites", { enumerable: true, get: function () { return algorithm_suites_1.CommitmentPolicySuites; } });
Object.defineProperty(exports, "SignaturePolicy", { enumerable: true, get: function () { return algorithm_suites_1.SignaturePolicy; } });
Object.defineProperty(exports, "SignaturePolicySuites", { enumerable: true, get: function () { return algorithm_suites_1.SignaturePolicySuites; } });
Object.defineProperty(exports, "MessageFormat", { enumerable: true, get: function () { return algorithm_suites_1.MessageFormat; } });
Object.defineProperty(exports, "NonCommittingAlgorithmSuiteIdentifier", { enumerable: true, get: function () { return algorithm_suites_1.NonCommittingAlgorithmSuiteIdentifier; } });
Object.defineProperty(exports, "CommittingAlgorithmSuiteIdentifier", { enumerable: true, get: function () { return algorithm_suites_1.CommittingAlgorithmSuiteIdentifier; } });
var web_crypto_algorithms_1 = require("./web_crypto_algorithms");
Object.defineProperty(exports, "WebCryptoAlgorithmSuite", { enumerable: true, get: function () { return web_crypto_algorithms_1.WebCryptoAlgorithmSuite; } });
var node_algorithms_1 = require("./node_algorithms");
Object.defineProperty(exports, "NodeAlgorithmSuite", { enumerable: true, get: function () { return node_algorithms_1.NodeAlgorithmSuite; } });
__exportStar(require("./keyring"), exports);
var keyring_trace_1 = require("./keyring_trace");
Object.defineProperty(exports, "KeyringTraceFlag", { enumerable: true, get: function () { return keyring_trace_1.KeyringTraceFlag; } });
var multi_keyring_1 = require("./multi_keyring");
Object.defineProperty(exports, "MultiKeyringNode", { enumerable: true, get: function () { return multi_keyring_1.MultiKeyringNode; } });
Object.defineProperty(exports, "MultiKeyringWebCrypto", { enumerable: true, get: function () { return multi_keyring_1.MultiKeyringWebCrypto; } });
__exportStar(require("./materials_manager"), exports);
var cryptographic_material_1 = require("./cryptographic_material");
Object.defineProperty(exports, "NodeEncryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_1.NodeEncryptionMaterial; } });
Object.defineProperty(exports, "NodeDecryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_1.NodeDecryptionMaterial; } });
var cryptographic_material_2 = require("./cryptographic_material");
Object.defineProperty(exports, "isValidCryptoKey", { enumerable: true, get: function () { return cryptographic_material_2.isValidCryptoKey; } });
Object.defineProperty(exports, "isCryptoKey", { enumerable: true, get: function () { return cryptographic_material_2.isCryptoKey; } });
Object.defineProperty(exports, "keyUsageForMaterial", { enumerable: true, get: function () { return cryptographic_material_2.keyUsageForMaterial; } });
Object.defineProperty(exports, "subtleFunctionForMaterial", { enumerable: true, get: function () { return cryptographic_material_2.subtleFunctionForMaterial; } });
var cryptographic_material_3 = require("./cryptographic_material");
Object.defineProperty(exports, "WebCryptoEncryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_3.WebCryptoEncryptionMaterial; } });
Object.defineProperty(exports, "WebCryptoDecryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_3.WebCryptoDecryptionMaterial; } });
var cryptographic_material_4 = require("./cryptographic_material");
Object.defineProperty(exports, "isEncryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_4.isEncryptionMaterial; } });
Object.defineProperty(exports, "isDecryptionMaterial", { enumerable: true, get: function () { return cryptographic_material_4.isDecryptionMaterial; } });
var cryptographic_material_5 = require("./cryptographic_material");
Object.defineProperty(exports, "unwrapDataKey", { enumerable: true, get: function () { return cryptographic_material_5.unwrapDataKey; } });
Object.defineProperty(exports, "wrapWithKeyObjectIfSupported", { enumerable: true, get: function () { return cryptographic_material_5.wrapWithKeyObjectIfSupported; } });
var cryptographic_material_6 = require("./cryptographic_material");
Object.defineProperty(exports, "decorateCryptographicMaterial", { enumerable: true, get: function () { return cryptographic_material_6.decorateCryptographicMaterial; } });
Object.defineProperty(exports, "decorateWebCryptoMaterial", { enumerable: true, get: function () { return cryptographic_material_6.decorateWebCryptoMaterial; } });
var signature_key_1 = require("./signature_key");
Object.defineProperty(exports, "SignatureKey", { enumerable: true, get: function () { return signature_key_1.SignatureKey; } });
Object.defineProperty(exports, "VerificationKey", { enumerable: true, get: function () { return signature_key_1.VerificationKey; } });
var encrypted_data_key_1 = require("./encrypted_data_key");
Object.defineProperty(exports, "EncryptedDataKey", { enumerable: true, get: function () { return encrypted_data_key_1.EncryptedDataKey; } });
var immutable_class_1 = require("./immutable_class");
Object.defineProperty(exports, "immutableBaseClass", { enumerable: true, get: function () { return immutable_class_1.immutableBaseClass; } });
Object.defineProperty(exports, "immutableClass", { enumerable: true, get: function () { return immutable_class_1.immutableClass; } });
Object.defineProperty(exports, "frozenClass", { enumerable: true, get: function () { return immutable_class_1.frozenClass; } });
Object.defineProperty(exports, "readOnlyProperty", { enumerable: true, get: function () { return immutable_class_1.readOnlyProperty; } });
var needs_1 = require("./needs");
Object.defineProperty(exports, "needs", { enumerable: true, get: function () { return needs_1.needs; } });
var clone_cryptographic_material_1 = require("./clone_cryptographic_material");
Object.defineProperty(exports, "cloneMaterial", { enumerable: true, get: function () { return clone_cryptographic_material_1.cloneMaterial; } });
__exportStar(require("./types"), exports);
var error_1 = require("./error");
Object.defineProperty(exports, "NotSupported", { enumerable: true, get: function () { return error_1.NotSupported; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7Ozs7Ozs7Ozs7Ozs7QUFFdEMsdURBdUIyQjtBQXRCekIsNEhBQUEsd0JBQXdCLE9BQUE7QUFFeEIsa0hBQUEsY0FBYyxPQUFBO0FBYWQsb0hBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsMEhBQUEsc0JBQXNCLE9BQUE7QUFDdEIsbUhBQUEsZUFBZSxPQUFBO0FBQ2YseUhBQUEscUJBQXFCLE9BQUE7QUFDckIsaUhBQUEsYUFBYSxPQUFBO0FBQ2IseUlBQUEscUNBQXFDLE9BQUE7QUFDckMsc0lBQUEsa0NBQWtDLE9BQUE7QUFHcEMsaUVBQWlFO0FBQXhELGdJQUFBLHVCQUF1QixPQUFBO0FBQ2hDLHFEQUFzRDtBQUE3QyxxSEFBQSxrQkFBa0IsT0FBQTtBQUUzQiw0Q0FBeUI7QUFDekIsaURBQWdFO0FBQXpDLGlIQUFBLGdCQUFnQixPQUFBO0FBQ3ZDLGlEQUl3QjtBQUh0QixpSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixzSEFBQSxxQkFBcUIsT0FBQTtBQUd2QixzREFBbUM7QUFFbkMsbUVBR2lDO0FBRi9CLGdJQUFBLHNCQUFzQixPQUFBO0FBQ3RCLGdJQUFBLHNCQUFzQixPQUFBO0FBRXhCLG1FQUtpQztBQUovQiwwSEFBQSxnQkFBZ0IsT0FBQTtBQUNoQixxSEFBQSxXQUFXLE9BQUE7QUFDWCw2SEFBQSxtQkFBbUIsT0FBQTtBQUNuQixtSUFBQSx5QkFBeUIsT0FBQTtBQUUzQixtRUFHaUM7QUFGL0IscUlBQUEsMkJBQTJCLE9BQUE7QUFDM0IscUlBQUEsMkJBQTJCLE9BQUE7QUFFN0IsbUVBR2lDO0FBRi9CLDhIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDhIQUFBLG9CQUFvQixPQUFBO0FBRXRCLG1FQUdpQztBQUYvQix1SEFBQSxhQUFhLE9BQUE7QUFDYixzSUFBQSw0QkFBNEIsT0FBQTtBQUU5QixtRUFLaUM7QUFIL0IsdUlBQUEsNkJBQTZCLE9BQUE7QUFDN0IsbUlBQUEseUJBQXlCLE9BQUE7QUFHM0IsaURBQStEO0FBQXRELDZHQUFBLFlBQVksT0FBQTtBQUFFLGdIQUFBLGVBQWUsT0FBQTtBQUN0QywyREFBMEU7QUFBakUsc0hBQUEsZ0JBQWdCLE9BQUE7QUFFekIscURBSzBCO0FBSnhCLHFIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGlIQUFBLGNBQWMsT0FBQTtBQUNkLDhHQUFBLFdBQVcsT0FBQTtBQUNYLG1IQUFBLGdCQUFnQixPQUFBO0FBR2xCLGlDQUErQjtBQUF0Qiw4RkFBQSxLQUFLLE9BQUE7QUFDZCwrRUFBOEQ7QUFBckQsNkhBQUEsYUFBYSxPQUFBO0FBRXRCLDBDQUF1QjtBQUN2QixpQ0FBc0M7QUFBN0IscUdBQUEsWUFBWSxPQUFBIn0=