import { ASN1Element as _Element, OPTIONAL } from "asn1-ts";
import * as $ from "asn1-ts/dist/node/functional";
import { Attribute } from "x500-ts/dist/node/modules/InformationFramework/Attribute.ta";
import { OriginatorInfo } from "../CryptographicMessageSyntax/OriginatorInfo.ta";
import { RecipientInfos } from "../CryptographicMessageSyntax/RecipientInfos.ta";
import { EncryptedContentInfo } from "../PKCS-15/EncryptedContentInfo.ta";
import { EnvelopedData_version } from "../PKCS-15/EnvelopedData-version.ta";
export declare class EnvelopedData<Type> {
    readonly version: EnvelopedData_version;
    readonly originatorInfo: OPTIONAL<OriginatorInfo>;
    readonly recipientInfos: RecipientInfos;
    readonly encryptedContentInfo: EncryptedContentInfo<Type>;
    readonly unprotectedAttrs: OPTIONAL<Attribute[]>;
    constructor(version: EnvelopedData_version, originatorInfo: OPTIONAL<OriginatorInfo>, recipientInfos: RecipientInfos, encryptedContentInfo: EncryptedContentInfo<Type>, unprotectedAttrs: OPTIONAL<Attribute[]>);
    static _from_object(_o: {
        [_K in keyof EnvelopedData<any>]: EnvelopedData<any>[_K];
    }): EnvelopedData<any>;
}
export declare const _root_component_type_list_1_spec_for_EnvelopedData: $.ComponentSpec[];
export declare const _root_component_type_list_2_spec_for_EnvelopedData: $.ComponentSpec[];
export declare const _extension_additions_list_spec_for_EnvelopedData: $.ComponentSpec[];
export declare function _get_decoder_for_EnvelopedData<Type>(_decode_Type: $.ASN1Decoder<Type>): (el: _Element) => EnvelopedData<Type>;
export declare function _get_encoder_for_EnvelopedData<Type>(_encode_Type: $.ASN1Encoder<Type>): (value: EnvelopedData<Type>, elGetter: $.ASN1Encoder<EnvelopedData<Type>>) => _Element;
//# sourceMappingURL=EnvelopedData.ta.d.ts.map