import { BIT_STRING, ASN1Element as _Element } from 'asn1-ts';
import * as $ from 'asn1-ts/dist/node/functional';
/**
 * @summary User_session_requirements
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * User-session-requirements  ::=  BIT STRING {
 *   half-duplex(0), duplex(1), expedited-data(2), minor-synchronize(3),
 *   major-synchronize(4), resynchronize(5), activity-management(6),
 *   negotiated-release(7), capability-data(8), exceptions(9), typed-data(10),
 *   symmetric-synchronize(11), data-separation(12)}
 * ```
 */
export declare type User_session_requirements = BIT_STRING;
/**
 * @summary User_session_requirements_half_duplex
 * @constant
 */
export declare const User_session_requirements_half_duplex: number;
/**
 * @summary half_duplex
 * @constant
 */
export declare const half_duplex: number;
/**
 * @summary User_session_requirements_duplex
 * @constant
 */
export declare const User_session_requirements_duplex: number;
/**
 * @summary duplex
 * @constant
 */
export declare const duplex: number;
/**
 * @summary User_session_requirements_expedited_data
 * @constant
 */
export declare const User_session_requirements_expedited_data: number;
/**
 * @summary expedited_data
 * @constant
 */
export declare const expedited_data: number;
/**
 * @summary User_session_requirements_minor_synchronize
 * @constant
 */
export declare const User_session_requirements_minor_synchronize: number;
/**
 * @summary minor_synchronize
 * @constant
 */
export declare const minor_synchronize: number;
/**
 * @summary User_session_requirements_major_synchronize
 * @constant
 */
export declare const User_session_requirements_major_synchronize: number;
/**
 * @summary major_synchronize
 * @constant
 */
export declare const major_synchronize: number;
/**
 * @summary User_session_requirements_resynchronize
 * @constant
 */
export declare const User_session_requirements_resynchronize: number;
/**
 * @summary resynchronize
 * @constant
 */
export declare const resynchronize: number;
/**
 * @summary User_session_requirements_activity_management
 * @constant
 */
export declare const User_session_requirements_activity_management: number;
/**
 * @summary activity_management
 * @constant
 */
export declare const activity_management: number;
/**
 * @summary User_session_requirements_negotiated_release
 * @constant
 */
export declare const User_session_requirements_negotiated_release: number;
/**
 * @summary negotiated_release
 * @constant
 */
export declare const negotiated_release: number;
/**
 * @summary User_session_requirements_capability_data
 * @constant
 */
export declare const User_session_requirements_capability_data: number;
/**
 * @summary capability_data
 * @constant
 */
export declare const capability_data: number;
/**
 * @summary User_session_requirements_exceptions
 * @constant
 */
export declare const User_session_requirements_exceptions: number;
/**
 * @summary exceptions
 * @constant
 */
export declare const exceptions: number;
/**
 * @summary User_session_requirements_typed_data
 * @constant
 */
export declare const User_session_requirements_typed_data: number;
/**
 * @summary typed_data
 * @constant
 */
export declare const typed_data: number;
/**
 * @summary User_session_requirements_symmetric_synchronize
 * @constant
 */
export declare const User_session_requirements_symmetric_synchronize: number;
/**
 * @summary symmetric_synchronize
 * @constant
 */
export declare const symmetric_synchronize: number;
/**
 * @summary User_session_requirements_data_separation
 * @constant
 */
export declare const User_session_requirements_data_separation: number;
/**
 * @summary data_separation
 * @constant
 */
export declare const data_separation: number;
/**
 * @summary Decodes an ASN.1 element into a(n) User_session_requirements
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {User_session_requirements} The decoded data structure.
 */
export declare function _decode_User_session_requirements(el: _Element): Uint8ClampedArray;
/**
 * @summary Encodes a(n) User_session_requirements 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 User_session_requirements, encoded as an ASN.1 Element.
 */
export declare function _encode_User_session_requirements(value: User_session_requirements, elGetter: $.ASN1Encoder<User_session_requirements>): _Element;
