import { KnownJwaContentEncryptionAlgorithm, KnownJwaKeyAgreementAlgorithm, KnownJwaKeyEncryptionAlgorithm } from "./jwa.js";
import { KmsEncryptDataEncryption } from "../options/KmsEncryptOptions.js";
import { KmsDecryptDataDecryption } from "../options/KmsDecryptOptions.js";
import { KmsKeyAgreementEncryptOptions } from "../options/KmsKeyAgreementEncryptOptions.js";
import { KmsKeyAgreementDecryptOptions } from "../options/KmsKeyAgreementDecryptOptions.js";

//#region src/modules/kms/jwk/assertSupported.d.ts
declare function assertSupportedKeyAgreementAlgorithm<KeyAgreement extends KmsKeyAgreementEncryptOptions | KmsKeyAgreementDecryptOptions, SupportedAlgorithms extends KnownJwaKeyAgreementAlgorithm[]>(keyAgreement: KeyAgreement, supportedAlgorithms: SupportedAlgorithms, backend: string): asserts keyAgreement is KeyAgreement & {
  algorithm: SupportedAlgorithms[number];
};
declare function assertSupportedEncryptionAlgorithm<Encryption extends KmsEncryptDataEncryption | KmsDecryptDataDecryption, SupportedAlgorithms extends Array<KnownJwaContentEncryptionAlgorithm | KnownJwaKeyEncryptionAlgorithm>>(encryption: Encryption, supportedAlgorithms: SupportedAlgorithms, backend: string): asserts encryption is Encryption & {
  algorithm: SupportedAlgorithms[number];
};
//#endregion
export { assertSupportedEncryptionAlgorithm, assertSupportedKeyAgreementAlgorithm };
//# sourceMappingURL=assertSupported.d.ts.map