import { ASN1Element as _Element, OBJECT_IDENTIFIER } from "@wildboar/asn1"; import * as $ from "@wildboar/asn1/functional"; /** * @summary Refinement * @description * * ### ASN.1 Definition: * * ```asn1 * Refinement ::= CHOICE { * item [0] OBJECT-CLASS.&id, * and [1] SET SIZE (1..MAX) OF Refinement, * or [2] SET SIZE (1..MAX) OF Refinement, * not [3] Refinement, * ... } * ``` */ export type Refinement = { item: OBJECT_IDENTIFIER; } | { and: Refinement[]; } | { or: Refinement[]; } | { not: Refinement; } | _Element; /** * @summary Decodes an ASN.1 element into a(n) Refinement * @function * @param {_Element} el The element being decoded. * @returns {Refinement} The decoded data structure. */ export declare function _decode_Refinement(el: _Element): Refinement; /** * @summary Encodes a(n) Refinement 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 Refinement, encoded as an ASN.1 Element. */ export declare function _encode_Refinement(value: Refinement, elGetter: $.ASN1Encoder): _Element; //# sourceMappingURL=Refinement.ta.d.mts.map