import * as $ from "asn1-ts/dist/node/functional";
import { EnvelopedData } from "../PKCS-15/EnvelopedData.ta";
import { ReferencedValue } from "../PKCS-15/ReferencedValue.ta";
export { EnvelopedData, _get_decoder_for_EnvelopedData, _get_encoder_for_EnvelopedData, } from "../PKCS-15/EnvelopedData.ta";
export { ReferencedValue, _get_decoder_for_ReferencedValue, _get_encoder_for_ReferencedValue, } from "../PKCS-15/ReferencedValue.ta";
export declare type ObjectValue<Type> = {
    indirect: ReferencedValue<Type>;
} | {
    direct: Type;
} | {
    indirect_protected: ReferencedValue<EnvelopedData<Type>>;
} | {
    direct_protected: EnvelopedData<Type>;
};
export declare function _get_decoder_for_ObjectValue<Type>(_decode_Type: $.ASN1Decoder<Type>): $.ASN1Decoder<ObjectValue<Type>>;
export declare function _get_encoder_for_ObjectValue<Type>(_encode_Type: $.ASN1Encoder<Type>): $.ASN1Encoder<ObjectValue<Type>>;
//# sourceMappingURL=ObjectValue.ta.d.ts.map