import { ASN1Element as _Element, NULL } from "@wildboar/asn1";
import * as $ from "@wildboar/asn1/functional";
import { RevokedInfo } from "../OCSP-2013-08/RevokedInfo.ta.mjs";
import { UnknownInfo } from "../OCSP-2013-08/UnknownInfo.ta.mjs";
/**
 * @summary CertStatus
 * @description
 *
 * ### ASN.1 Definition:
 *
 * ```asn1
 * CertStatus  ::=  CHOICE {
 * good                [0]     IMPLICIT NULL,
 * revoked             [1]     IMPLICIT RevokedInfo,
 * unknown             [2]     IMPLICIT UnknownInfo }
 * ```
 */
export type CertStatus = {
    good: NULL;
} | {
    revoked: RevokedInfo;
} | {
    unknown: UnknownInfo;
};
/**
 * @summary Decodes an ASN.1 element into a(n) CertStatus
 * @function
 * @param {_Element} el The element being decoded.
 * @returns {CertStatus} The decoded data structure.
 */
export declare function _decode_CertStatus(el: _Element): CertStatus;
/**
 * @summary Encodes a(n) CertStatus 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 CertStatus, encoded as an ASN.1 Element.
 */
export declare function _encode_CertStatus(value: CertStatus, elGetter: $.ASN1Encoder<CertStatus>): _Element;
//# sourceMappingURL=CertStatus.ta.d.mts.map