declare abstract class COSEKeyParameterValue {
}
/**
 * COSE Key Types.
 * {@link https://www.iana.org/assignments/cose/cose.xhtml#key-type}
 */
declare class COSEKeyType extends COSEKeyParameterValue {
    private _name;
    private _value;
    private _description;
    static _values: COSEKeyType[];
    static readonly OKP: COSEKeyType;
    static readonly EC2: COSEKeyType;
    static readonly RSA: COSEKeyType;
    static readonly SYMMETRIC: COSEKeyType;
    static readonly HSS_LMS: COSEKeyType;
    static readonly WALNUT_DSA: COSEKeyType;
    private constructor();
    get name(): string;
    get value(): number;
    get description(): string;
    static values(): COSEKeyType[];
    static fromValue(value: number): COSEKeyType | null;
    static fromName(name: string): COSEKeyType | null;
}
declare abstract class COSEKeyParameter {
}
/**
 * COSE Key Common Parameters.
 * {@link https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters}
 */
declare class COSEKeyCommonParameter extends COSEKeyParameter {
    private _name;
    private _label;
    private _description;
    private static _values;
    static readonly KTY: COSEKeyCommonParameter;
    static readonly KID: COSEKeyCommonParameter;
    static readonly ALG: COSEKeyCommonParameter;
    static readonly KEY_OPS: COSEKeyCommonParameter;
    static readonly BASE_IV: COSEKeyCommonParameter;
    private constructor();
    get name(): string;
    get label(): number;
    get description(): string;
    static values(): COSEKeyCommonParameter[];
    static fromLabel(label: number): COSEKeyCommonParameter | null;
    static fromName(name: string): COSEKeyCommonParameter | null;
}
/**
 * COSE Key Type Parameters.
 * {@link https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters}
 */
declare class COSEKeyTypeParameter extends COSEKeyParameter {
    private _keyType;
    private _name;
    private _label;
    private _description;
    private static _values;
    static readonly OKP_CRV: COSEKeyTypeParameter;
    static readonly OKP_X: COSEKeyTypeParameter;
    static readonly OKP_D: COSEKeyTypeParameter;
    static readonly EC2_CRV: COSEKeyTypeParameter;
    static readonly EC2_X: COSEKeyTypeParameter;
    static readonly EC2_Y: COSEKeyTypeParameter;
    static readonly EC2_D: COSEKeyTypeParameter;
    static readonly RSA_N: COSEKeyTypeParameter;
    static readonly RSA_E: COSEKeyTypeParameter;
    static readonly RSA_D: COSEKeyTypeParameter;
    static readonly RSA_P: COSEKeyTypeParameter;
    static readonly RSA_Q: COSEKeyTypeParameter;
    static readonly RSA_DP: COSEKeyTypeParameter;
    static readonly RSA_DQ: COSEKeyTypeParameter;
    static readonly RSA_QINV: COSEKeyTypeParameter;
    static readonly OTHER: COSEKeyTypeParameter;
    static readonly R_I: COSEKeyTypeParameter;
    static readonly D_I: COSEKeyTypeParameter;
    static readonly T_I: COSEKeyTypeParameter;
    static readonly SYMMETRIC_K: COSEKeyTypeParameter;
    static readonly PUB: COSEKeyTypeParameter;
    static readonly WALNUTRSA_N: COSEKeyTypeParameter;
    static readonly WALNUTRSA_Q: COSEKeyTypeParameter;
    static readonly T_VALUES: COSEKeyTypeParameter;
    static readonly MATRIX_1: COSEKeyTypeParameter;
    static readonly PERMUTATION_1: COSEKeyTypeParameter;
    static readonly MATRIX_2: COSEKeyTypeParameter;
    private constructor();
    get keyType(): COSEKeyType;
    get name(): string;
    get label(): number;
    get description(): string;
    static values(): COSEKeyTypeParameter[];
    static fromLabel(keyType: COSEKeyType, label: number): COSEKeyTypeParameter | null;
    static fromName(keyType: COSEKeyType, name: string): COSEKeyTypeParameter | null;
}
declare class COSEKeyOperationValue extends COSEKeyParameterValue {
    private _name;
    private _value;
    private _description;
    static _values: COSEKeyOperationValue[];
    static readonly SIGN: COSEKeyOperationValue;
    static readonly VERIFY: COSEKeyOperationValue;
    static readonly ENCRYPT: COSEKeyOperationValue;
    static readonly DECRYPT: COSEKeyOperationValue;
    static readonly WRAP_KEY: COSEKeyOperationValue;
    static readonly UNWRAP_KEY: COSEKeyOperationValue;
    static readonly DERIVE_KEY: COSEKeyOperationValue;
    static readonly DERIVE_BITS: COSEKeyOperationValue;
    static readonly MAC_CREATE: COSEKeyOperationValue;
    static readonly MAC_VERIFY: COSEKeyOperationValue;
    private constructor();
    get name(): string;
    get value(): number;
    get description(): string;
    static values(): COSEKeyOperationValue[];
    static fromValue(value: number): COSEKeyOperationValue | null;
    static fromName(name: string): COSEKeyOperationValue | null;
}
declare class COSEEllipticCurve extends COSEKeyParameterValue {
    private _name;
    private _value;
    private _keyType;
    private _description;
    static _values: COSEEllipticCurve[];
    static readonly P_256: COSEEllipticCurve;
    static readonly P_384: COSEEllipticCurve;
    static readonly P_512: COSEEllipticCurve;
    static readonly X25519: COSEEllipticCurve;
    static readonly X448: COSEEllipticCurve;
    static readonly ED25519: COSEEllipticCurve;
    static readonly ED448: COSEEllipticCurve;
    static readonly SECP256K1: COSEEllipticCurve;
    private constructor();
    get name(): string;
    get value(): number;
    get keyType(): COSEKeyType;
    get description(): string;
    static values(): COSEEllipticCurve[];
    static fromValue(keyType: COSEKeyType, value: number): COSEEllipticCurve | null;
    static fromName(keyType: COSEKeyType, name: string): COSEEllipticCurve | null;
}
declare class COSEAlgorithm extends COSEKeyParameterValue {
    private _name;
    private _value;
    private _description;
    private _nodeCryptoHashAlg;
    private static _values;
    static readonly RS1: COSEAlgorithm;
    static readonly WALNUT_DSA: COSEAlgorithm;
    static readonly RS512: COSEAlgorithm;
    static readonly RS384: COSEAlgorithm;
    static readonly RS256: COSEAlgorithm;
    static readonly ES256K: COSEAlgorithm;
    static readonly HSS_LMS: COSEAlgorithm;
    static readonly SHAKE256: COSEAlgorithm;
    static readonly SHA_512: COSEAlgorithm;
    static readonly SHA_384: COSEAlgorithm;
    static readonly RSAES_OAEP_w_SHA_512: COSEAlgorithm;
    static readonly RSAES_OAEP_w_SHA_256: COSEAlgorithm;
    static readonly RSAES_OAEP_w_RFC8017_DEFAULT_PARAMETERS: COSEAlgorithm;
    static readonly PS512: COSEAlgorithm;
    static readonly PS384: COSEAlgorithm;
    static readonly PS256: COSEAlgorithm;
    static readonly ES512: COSEAlgorithm;
    static readonly ES384: COSEAlgorithm;
    static readonly ECDH_SS_A256KW: COSEAlgorithm;
    static readonly ECDH_SS_A192KW: COSEAlgorithm;
    static readonly ECDH_SS_A128KW: COSEAlgorithm;
    static readonly ECDH_ES_A256KW: COSEAlgorithm;
    static readonly ECDH_ES_A192KW: COSEAlgorithm;
    static readonly ECDH_ES_A128KW: COSEAlgorithm;
    static readonly ECDH_SS_HKDF_512: COSEAlgorithm;
    static readonly ECDH_SS_HKDF_256: COSEAlgorithm;
    static readonly ECDH_ES_HKDF_512: COSEAlgorithm;
    static readonly ECDH_ES_HKDF_256: COSEAlgorithm;
    static readonly SHAKE128: COSEAlgorithm;
    static readonly SHA_512_256: COSEAlgorithm;
    static readonly SHA_256: COSEAlgorithm;
    static readonly SHA_256_64: COSEAlgorithm;
    static readonly SHA_1: COSEAlgorithm;
    static readonly DIRECT_HKDF_AES_256: COSEAlgorithm;
    static readonly DIRECT_HKDF_AES_128: COSEAlgorithm;
    static readonly DIRECT_HKDF_SHA_512: COSEAlgorithm;
    static readonly DIRECT_HKDF_SHA_256: COSEAlgorithm;
    static readonly EdDSA: COSEAlgorithm;
    static readonly ES256: COSEAlgorithm;
    static readonly DIRECT: COSEAlgorithm;
    static readonly A256KW: COSEAlgorithm;
    static readonly A192KW: COSEAlgorithm;
    static readonly A128KW: COSEAlgorithm;
    static readonly A128GCM: COSEAlgorithm;
    static readonly A192GCM: COSEAlgorithm;
    static readonly A256GCM: COSEAlgorithm;
    static readonly HMAC_256_64: COSEAlgorithm;
    static readonly HMAC_256_256: COSEAlgorithm;
    static readonly HMAC_384_384: COSEAlgorithm;
    static readonly HMAC_512_512: COSEAlgorithm;
    static readonly AES_CCM_16_64_128: COSEAlgorithm;
    static readonly AES_CCM_16_64_256: COSEAlgorithm;
    static readonly AES_CCM_64_64_128: COSEAlgorithm;
    static readonly AES_CCM_64_64_256: COSEAlgorithm;
    static readonly AES_MAC_128_64: COSEAlgorithm;
    static readonly AES_MAC_256_64: COSEAlgorithm;
    static readonly CHACHA20_POLY1305: COSEAlgorithm;
    static readonly AES_MAC_128_128: COSEAlgorithm;
    static readonly AES_MAC_256_128: COSEAlgorithm;
    static readonly AES_CCM_16_128_128: COSEAlgorithm;
    static readonly AES_CCM_16_128_256: COSEAlgorithm;
    static readonly AES_CCM_64_128_128: COSEAlgorithm;
    static readonly AES_CCM_64_128_256: COSEAlgorithm;
    static readonly IV_GENERATION: COSEAlgorithm;
    private constructor();
    get name(): string;
    get value(): number;
    get description(): string;
    get nodeCryptoHashAlg(): string | null;
    static values(): COSEAlgorithm[];
    static fromValue(value: number): COSEAlgorithm | null;
    static fromName(name: string): COSEAlgorithm | null;
}
declare class COSEKeyParameterValueMapping {
    private _parameter;
    private _value;
    private static _values;
    static readonly KTY: COSEKeyParameterValueMapping;
    static readonly ALG: COSEKeyParameterValueMapping;
    static readonly KEY_OPS: COSEKeyParameterValueMapping;
    static readonly OKP_CRV: COSEKeyParameterValueMapping;
    static readonly EC2_CRV: COSEKeyParameterValueMapping;
    private constructor();
    get parameter(): COSEKeyParameter;
    get value(): COSEKeyParameterValue;
    static values(): COSEKeyParameterValueMapping[];
    static fromParameter(parameter: COSEKeyParameter): COSEKeyParameterValueMapping | null;
    fromParameterLabel(label: number, keyType?: COSEKeyType): COSEKeyParameterValueMapping | null;
    fromValueLabel(label: any): COSEKeyType | COSEKeyOperationValue | COSEEllipticCurve | COSEAlgorithm | null;
    fromValueName(name: string): COSEKeyType | COSEKeyOperationValue | COSEEllipticCurve | COSEAlgorithm | null;
}
export { COSEKeyCommonParameter, COSEKeyType, COSEKeyTypeParameter, COSEKeyOperationValue, COSEEllipticCurve, COSEAlgorithm, COSEKeyParameterValueMapping, };
