import { KmsJwkPublicOct } from "../kty/oct/octJwk.js";
import { KmsJwkPrivate, KmsJwkPublic } from "../knownJwk.js";
import { KnownJwaSignatureAlgorithm } from "../jwa.js";

//#region src/modules/kms/jwk/alg/signing.d.ts

/**
 * Get the allowed algs for a signing key. If takes all the known supported
 * algs and will filter these based on the optional `alg` key in the JWK.
 *
 * This does not handle the intended key `use` and `key_ops`.
 */
declare function allowedSigningAlgsForSigningKey(jwk: KmsJwkPrivate | Exclude<KmsJwkPublic, KmsJwkPublicOct>): KnownJwaSignatureAlgorithm[];
declare function assertAllowedSigningAlgForKey(jwk: KmsJwkPrivate | Exclude<KmsJwkPublic, KmsJwkPublicOct>, algorithm: KnownJwaSignatureAlgorithm): void;
declare function supportedSigningAlgsForKey(jwk: KmsJwkPrivate | Exclude<KmsJwkPublic, KmsJwkPublicOct>): KnownJwaSignatureAlgorithm[];
//#endregion
export { allowedSigningAlgsForSigningKey, assertAllowedSigningAlgForKey, supportedSigningAlgsForKey };
//# sourceMappingURL=signing.d.ts.map