/** * JSON Web Key (JWK) Types class. * "kty" (Key Type) parameter. * * RFC: {@link https://datatracker.ietf.org/doc/html/rfc7517#section-4.1} * * Registry: {@link https://www.iana.org/assignments/jose/jose.xhtml#web-key-types} */ declare class JSONWebKeyType { private _value; private _description; static _values: JSONWebKeyType[]; static readonly EC: JSONWebKeyType; static readonly RSA: JSONWebKeyType; static readonly OCT: JSONWebKeyType; static readonly OKP: JSONWebKeyType; /** * Private constructor. * * @param _value key type.key type. * @param _description Key type description */ private constructor(); /** * Returns key type. * * @returns Key type */ get value(): string; /** * Returns key type description. * * @returns Key type description */ get description(): string; /** * Returns all JWK key type class. * * @returns All JWK key type class */ static values(): JSONWebKeyType[]; /** * Returns JWK key type class which has same key type to function's parameter. * * @param value Target key type * @returns JWK key type class, if not found returns null */ static fromValue(value: string): JSONWebKeyType | null; } /** * JSON Web Signature and Encryption Algorithms class. * "alg" (Algorithm) parameter. * * RFC: {@link https://datatracker.ietf.org/doc/html/rfc7517#section-4.4} * * Registry: {@link https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms} */ declare class JSONWebSignatureAndEncryptionAlgorithm { private _name; private _description; private _nodeCryptoHashAlg; static _values: JSONWebSignatureAndEncryptionAlgorithm[]; static readonly HS256: JSONWebSignatureAndEncryptionAlgorithm; static readonly HS384: JSONWebSignatureAndEncryptionAlgorithm; static readonly HS512: JSONWebSignatureAndEncryptionAlgorithm; static readonly RS256: JSONWebSignatureAndEncryptionAlgorithm; static readonly RS384: JSONWebSignatureAndEncryptionAlgorithm; static readonly RS512: JSONWebSignatureAndEncryptionAlgorithm; static readonly ES256: JSONWebSignatureAndEncryptionAlgorithm; static readonly ES384: JSONWebSignatureAndEncryptionAlgorithm; static readonly ES512: JSONWebSignatureAndEncryptionAlgorithm; static readonly PS256: JSONWebSignatureAndEncryptionAlgorithm; static readonly PS384: JSONWebSignatureAndEncryptionAlgorithm; static readonly PS512: JSONWebSignatureAndEncryptionAlgorithm; static readonly NONE: JSONWebSignatureAndEncryptionAlgorithm; static readonly RSA1_5: JSONWebSignatureAndEncryptionAlgorithm; static readonly RSA_OAEP: JSONWebSignatureAndEncryptionAlgorithm; static readonly RSA_OAEP_256: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly DIR: JSONWebSignatureAndEncryptionAlgorithm; static readonly ECDH_ES: JSONWebSignatureAndEncryptionAlgorithm; static readonly ECDH_ES_A128KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly ECDH_ES_A192KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly ECDH_ES_A256KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128GCMKW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192GCMKW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256GCMKW: JSONWebSignatureAndEncryptionAlgorithm; static readonly PBES2_HS256_A128KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly PBES2_HS384_A192KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly PBES2_HS512_A256KW: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128CBC_HS256: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192CBC_HS384: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256CBC_HS512: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128GCM: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192GCM: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256GCM: JSONWebSignatureAndEncryptionAlgorithm; static readonly EdDSA: JSONWebSignatureAndEncryptionAlgorithm; static readonly RS1: JSONWebSignatureAndEncryptionAlgorithm; static readonly RSA_OAEP_384: JSONWebSignatureAndEncryptionAlgorithm; static readonly RSA_OAEP_512: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128CBC: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192CBC: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256CBC: JSONWebSignatureAndEncryptionAlgorithm; static readonly A128CTR: JSONWebSignatureAndEncryptionAlgorithm; static readonly A192CTR: JSONWebSignatureAndEncryptionAlgorithm; static readonly A256CTR: JSONWebSignatureAndEncryptionAlgorithm; static readonly HS1: JSONWebSignatureAndEncryptionAlgorithm; static readonly ES256K: JSONWebSignatureAndEncryptionAlgorithm; /** * Private constructor. * * @param _name Algorithm name * @param _description Algorithm description * @param _nodeCryptoHashAlg Node.js crypto module's algorithm name */ private constructor(); /** * Returns algorithm name. * * @returns Algorithm name */ get name(): string; /** * Returns algorithm description. * * @returns Algorithm description */ get description(): string; /** * Returns Node.js crypto module's algorithm name. * * @returns Node.js crypto module's algorithm name */ get nodeCryptoHashAlg(): string | null; /** * Returns all JSON Web Signature and Encryption Algorithms class. * * @returns All JSON Web Signature and Encryption Algorithms class */ static values(): JSONWebSignatureAndEncryptionAlgorithm[]; /** * Returns JSON Web Signature and Encryption Algorithms class which has same algorithm name to function's parameter. * * @param name Target algorithm name * @returns JSON Web Signature and Encryption Algorithms class, if not found returns null */ static fromName(name: string): JSONWebSignatureAndEncryptionAlgorithm | null; } /** * JSON Web Key Elliptic Curve class. * * RFC: {@link https://www.rfc-editor.org/rfc/rfc7518.html#section-6.2.1.1} * * Registry: {@link https://www.iana.org/assignments/jose/jose.xhtml#web-key-elliptic-curve} */ declare class JSONWebKeyEllipticCurve { private _name; private _description; static _values: JSONWebKeyEllipticCurve[]; static readonly P_256: JSONWebKeyEllipticCurve; static readonly P_384: JSONWebKeyEllipticCurve; static readonly P_521: JSONWebKeyEllipticCurve; static readonly ED25519: JSONWebKeyEllipticCurve; static readonly ED448: JSONWebKeyEllipticCurve; static readonly X25519: JSONWebKeyEllipticCurve; static readonly X448: JSONWebKeyEllipticCurve; static readonly SECP256K1: JSONWebKeyEllipticCurve; /** * Private constructor. * * @param _name Curve name * @param _description Curve description */ private constructor(); get name(): string; get description(): string; static values(): JSONWebKeyEllipticCurve[]; static fromName(name: string): JSONWebKeyEllipticCurve | null; } declare class JSONWebKeyParameter { private _name; private _description; private _usedWith; static _values: JSONWebKeyParameter[]; static readonly KTY: JSONWebKeyParameter; static readonly USE: JSONWebKeyParameter; static readonly KEY_OPS: JSONWebKeyParameter; static readonly ALG: JSONWebKeyParameter; static readonly KID: JSONWebKeyParameter; static readonly X5U: JSONWebKeyParameter; static readonly X5C: JSONWebKeyParameter; static readonly X5T: JSONWebKeyParameter; static readonly X5T_SHARP_S256: JSONWebKeyParameter; static readonly EC_CRV: JSONWebKeyParameter; static readonly EC_X: JSONWebKeyParameter; static readonly EC_Y: JSONWebKeyParameter; static readonly EC_D: JSONWebKeyParameter; static readonly N: JSONWebKeyParameter; static readonly E: JSONWebKeyParameter; static readonly RSA_D: JSONWebKeyParameter; static readonly P: JSONWebKeyParameter; static readonly Q: JSONWebKeyParameter; static readonly DP: JSONWebKeyParameter; static readonly DQ: JSONWebKeyParameter; static readonly QI: JSONWebKeyParameter; static readonly OTH: JSONWebKeyParameter; static readonly K: JSONWebKeyParameter; static readonly OKP_CRV: JSONWebKeyParameter; static readonly OKP_D: JSONWebKeyParameter; static readonly OKP_X: JSONWebKeyParameter; static readonly EXT: JSONWebKeyParameter; private constructor(); get name(): string; get description(): string; get usedWith(): JSONWebKeyType[]; static values(): JSONWebKeyParameter[]; static fromName(usedWith: JSONWebKeyType, name: string): JSONWebKeyParameter | null; } declare class JSONWebKeyUse { private _value; private _description; static _values: JSONWebKeyUse[]; static readonly SIG: JSONWebKeyUse; static readonly ENC: JSONWebKeyUse; private constructor(); get value(): string; get description(): string; static values(): JSONWebKeyUse[]; static fromValue(value: string): JSONWebKeyUse | null; } declare class JSONWebKeyOperation { private _value; private _description; static _values: JSONWebKeyOperation[]; static readonly SIGN: JSONWebKeyOperation; static readonly VERIFY: JSONWebKeyOperation; static readonly ENCRYPT: JSONWebKeyOperation; static readonly DECRYPT: JSONWebKeyOperation; static readonly WRAP_KEY: JSONWebKeyOperation; static readonly UNWRAP_KEY: JSONWebKeyOperation; static readonly DERIVE_KEY: JSONWebKeyOperation; static readonly DERIVE_BITS: JSONWebKeyOperation; private constructor(); get value(): string; get description(): string; static values(): JSONWebKeyOperation[]; static fromValue(value: string): JSONWebKeyOperation | null; } export { JSONWebKeyType, JSONWebSignatureAndEncryptionAlgorithm, JSONWebKeyEllipticCurve, JSONWebKeyParameter, JSONWebKeyUse, JSONWebKeyOperation, };