import { ASN1Element as _Element, BIT_STRING } from "asn1-ts";
import * as $ from "asn1-ts/dist/node/functional";
/**
 * @summary AccessMode
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * AccessMode  ::=  BIT STRING { read (0), update (1), execute (2) }
 * ```
 */
export declare type AccessMode = BIT_STRING;
/**
 * @summary AccessMode_read
 * @constant
 */
export declare const AccessMode_read: number;
/**
 * @summary read
 * @constant
 */
export declare const read: number;
/**
 * @summary AccessMode_update
 * @constant
 */
export declare const AccessMode_update: number;
/**
 * @summary update
 * @constant
 */
export declare const update: number;
/**
 * @summary AccessMode_execute
 * @constant
 */
export declare const AccessMode_execute: number;
/**
 * @summary execute
 * @constant
 */
export declare const execute: number;
/**
 * @summary Decodes an ASN.1 element into a(n) AccessMode
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {AccessMode} The decoded data structure.
 */
export declare function _decode_AccessMode(el: _Element): Uint8ClampedArray;
/**
 * @summary Encodes a(n) AccessMode 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 AccessMode, encoded as an ASN.1 Element.
 */
export declare function _encode_AccessMode(value: AccessMode, elGetter: $.ASN1Encoder<AccessMode>): _Element;
