import { ASN1Element as _Element, BIT_STRING } from "asn1-ts";
import * as $ from "asn1-ts/dist/node/functional";
/**
 * @summary Operations
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * Operations  ::=  BIT STRING {
 *     compute-checksum (0), -- H/W computation of checksum
 *     compute-signature (1), -- H/W computation of signature
 *     verify-checksum   (2), -- H/W verification of checksum
 *     verify-signature  (3), -- H/W verification of signature
 *     encipher   (4), -- H/W encryption of data
 *     decipher   (5), -- H/W decryption of data
 *     hash   (6), -- H/W hashing
 *     generate-key  (7)  -- H/W key generation
 * }
 * ```
 */
export declare type Operations = BIT_STRING;
/**
 * @summary Operations_compute_checksum
 * @constant
 */
export declare const Operations_compute_checksum: number;
/**
 * @summary compute_checksum
 * @constant
 */
export declare const compute_checksum: number;
/**
 * @summary Operations_compute_signature
 * @constant
 */
export declare const Operations_compute_signature: number;
/**
 * @summary compute_signature
 * @constant
 */
export declare const compute_signature: number;
/**
 * @summary Operations_verify_checksum
 * @constant
 */
export declare const Operations_verify_checksum: number;
/**
 * @summary verify_checksum
 * @constant
 */
export declare const verify_checksum: number;
/**
 * @summary Operations_verify_signature
 * @constant
 */
export declare const Operations_verify_signature: number;
/**
 * @summary verify_signature
 * @constant
 */
export declare const verify_signature: number;
/**
 * @summary Operations_encipher
 * @constant
 */
export declare const Operations_encipher: number;
/**
 * @summary encipher
 * @constant
 */
export declare const encipher: number;
/**
 * @summary Operations_decipher
 * @constant
 */
export declare const Operations_decipher: number;
/**
 * @summary decipher
 * @constant
 */
export declare const decipher: number;
/**
 * @summary Operations_hash
 * @constant
 */
export declare const Operations_hash: number;
/**
 * @summary hash
 * @constant
 */
export declare const hash: number;
/**
 * @summary Operations_generate_key
 * @constant
 */
export declare const Operations_generate_key: number;
/**
 * @summary generate_key
 * @constant
 */
export declare const generate_key: number;
/**
 * @summary Decodes an ASN.1 element into a(n) Operations
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {Operations} The decoded data structure.
 */
export declare function _decode_Operations(el: _Element): Uint8ClampedArray;
/**
 * @summary Encodes a(n) Operations 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 Operations, encoded as an ASN.1 Element.
 */
export declare function _encode_Operations(value: Operations, elGetter: $.ASN1Encoder<Operations>): _Element;
