import { ASN1Element as _Element } from 'asn1-ts';
import * as $ from 'asn1-ts/dist/node/functional';
import { ARU_PPDU_x400_mode_parameters } from '../ISO8823-PRESENTATION/ARU-PPDU-x400-mode-parameters.ta';
export { ARU_PPDU_x400_mode_parameters, _decode_ARU_PPDU_x400_mode_parameters, _encode_ARU_PPDU_x400_mode_parameters, } from '../ISO8823-PRESENTATION/ARU-PPDU-x400-mode-parameters.ta';
import { ARU_PPDU_normal_mode_parameters } from '../ISO8823-PRESENTATION/ARU-PPDU-normal-mode-parameters.ta';
export { ARU_PPDU_normal_mode_parameters, _decode_ARU_PPDU_normal_mode_parameters, _encode_ARU_PPDU_normal_mode_parameters, } from '../ISO8823-PRESENTATION/ARU-PPDU-normal-mode-parameters.ta';
/**
 * @summary ARU_PPDU
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * ARU-PPDU  ::=  CHOICE {
 *   x400-mode-parameters    SET {COMPONENTS OF Reliable-Transfer-APDU.RTABapdu}--  Shall be used for X.410 mode only. Shall be bitwise
 *   --  compatible with CCITT Recommendation X.410-1984.
 *   --  This shall be the User data parameter of the ARU PPDU3. --,
 *   normal-mode-parameters
 *     [0] IMPLICIT SEQUENCE {presentation-context-identifier-list
 *                              [0] IMPLICIT Presentation-context-identifier-list
 *                                OPTIONAL,
 *                            user-data
 *                              User-data OPTIONAL}
 *   --  Shall be used for normal mode only.
 * }
 * ```
 */
export declare type ARU_PPDU = {
    x400_mode_parameters: ARU_PPDU_x400_mode_parameters;
} | {
    normal_mode_parameters: ARU_PPDU_normal_mode_parameters;
};
/**
 * @summary Decodes an ASN.1 element into a(n) ARU_PPDU
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {ARU_PPDU} The decoded data structure.
 */
export declare function _decode_ARU_PPDU(el: _Element): ARU_PPDU;
/**
 * @summary Encodes a(n) ARU_PPDU 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 ARU_PPDU, encoded as an ASN.1 Element.
 */
export declare function _encode_ARU_PPDU(value: ARU_PPDU, elGetter: $.ASN1Encoder<ARU_PPDU>): _Element;
