import { ASN1Element as _Element } from '@wildboar/asn1';
import * as $ from '@wildboar/asn1/functional';
import { AC_PPDU } from '../ISO8823-PRESENTATION/AC-PPDU.ta.mjs';
import { ACA_PPDU } from '../ISO8823-PRESENTATION/ACA-PPDU.ta.mjs';
import { User_data } from '../ISO8823-PRESENTATION/User-data.ta.mjs';
/**
 * @summary Typed_data_type
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * Typed-data-type  ::=  CHOICE {
 *   acPPDU   [0] IMPLICIT AC-PPDU--  P-ALTER-CONTEXT request and indication -- ,
 *   acaPPDU  [1] IMPLICIT ACA-PPDU--  P-ALTER-CONTEXT response and confirm -- ,
 *   ttdPPDU  User-data --  P-TYPED-DATA request and indication
 * }
 * ```
 */
export type Typed_data_type = {
    acPPDU: AC_PPDU;
} | {
    acaPPDU: ACA_PPDU;
} | {
    ttdPPDU: User_data;
};
/**
 * @summary Decodes an ASN.1 element into a(n) Typed_data_type
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {Typed_data_type} The decoded data structure.
 */
export declare function _decode_Typed_data_type(el: _Element): Typed_data_type;
/**
 * @summary Encodes a(n) Typed_data_type into an ASN.1 Element.
 * @function
 * @param value The element being encoded.
 * @param elGetter A function that can be used to get new ASN.1 elements.
 * @returns {_Element} The Typed_data_type, encoded as an ASN.1 Element.
 */
export declare function _encode_Typed_data_type(value: Typed_data_type, elGetter: $.ASN1Encoder<Typed_data_type>): _Element;
//# sourceMappingURL=Typed-data-type.ta.d.mts.map