import { ASN1Element as _Element, BIT_STRING } from "asn1-ts";
import * as $ from "asn1-ts/dist/node/functional";
/**
 * @summary KeyUsageFlags
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * KeyUsageFlags  ::=  BIT STRING { encrypt (0), decrypt (1), sign (2), signRecover (3), wrap (4), unwrap (5), verify (6), verifyRecover  (7), derive (8), nonRepudiation (9) }
 * ```
 */
export declare type KeyUsageFlags = BIT_STRING;
/**
 * @summary KeyUsageFlags_encrypt
 * @constant
 */
export declare const KeyUsageFlags_encrypt: number;
/**
 * @summary encrypt
 * @constant
 */
export declare const encrypt: number;
/**
 * @summary KeyUsageFlags_decrypt
 * @constant
 */
export declare const KeyUsageFlags_decrypt: number;
/**
 * @summary decrypt
 * @constant
 */
export declare const decrypt: number;
/**
 * @summary KeyUsageFlags_sign
 * @constant
 */
export declare const KeyUsageFlags_sign: number;
/**
 * @summary sign
 * @constant
 */
export declare const sign: number;
/**
 * @summary KeyUsageFlags_signRecover
 * @constant
 */
export declare const KeyUsageFlags_signRecover: number;
/**
 * @summary signRecover
 * @constant
 */
export declare const signRecover: number;
/**
 * @summary KeyUsageFlags_wrap
 * @constant
 */
export declare const KeyUsageFlags_wrap: number;
/**
 * @summary wrap
 * @constant
 */
export declare const wrap: number;
/**
 * @summary KeyUsageFlags_unwrap
 * @constant
 */
export declare const KeyUsageFlags_unwrap: number;
/**
 * @summary unwrap
 * @constant
 */
export declare const unwrap: number;
/**
 * @summary KeyUsageFlags_verify
 * @constant
 */
export declare const KeyUsageFlags_verify: number;
/**
 * @summary verify
 * @constant
 */
export declare const verify: number;
/**
 * @summary KeyUsageFlags_verifyRecover
 * @constant
 */
export declare const KeyUsageFlags_verifyRecover: number;
/**
 * @summary verifyRecover
 * @constant
 */
export declare const verifyRecover: number;
/**
 * @summary KeyUsageFlags_derive
 * @constant
 */
export declare const KeyUsageFlags_derive: number;
/**
 * @summary derive
 * @constant
 */
export declare const derive: number;
/**
 * @summary KeyUsageFlags_nonRepudiation
 * @constant
 */
export declare const KeyUsageFlags_nonRepudiation: number;
/**
 * @summary nonRepudiation
 * @constant
 */
export declare const nonRepudiation: number;
/**
 * @summary Decodes an ASN.1 element into a(n) KeyUsageFlags
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {KeyUsageFlags} The decoded data structure.
 */
export declare function _decode_KeyUsageFlags(el: _Element): Uint8ClampedArray;
/**
 * @summary Encodes a(n) KeyUsageFlags into an ASN.1 Element.
 * @function
 * @param {value} el The element being decoded.
 * @param elGetter A function that can be used to get new ASN.1 elements.
 * @returns {_Element} The KeyUsageFlags, encoded as an ASN.1 Element.
 */
export declare function _encode_KeyUsageFlags(value: KeyUsageFlags, elGetter: $.ASN1Encoder<KeyUsageFlags>): _Element;
