import { ASN1Element as _Element, OCTET_STRING, OPTIONAL } from "asn1-ts";
import * as $ from "asn1-ts/dist/node/functional";
import { KeyEncryptionAlgorithmIdentifier } from "../PKCS7/KeyEncryptionAlgorithmIdentifier.ta";
import { OriginatorIdentifierOrKey } from "../PKCS7/OriginatorIdentifierOrKey.ta";
import { RecipientEncryptedKeys } from "../PKCS7/RecipientEncryptedKeys.ta";
import { Version } from "../PKCS7/Version.ta";
export { KeyEncryptionAlgorithmIdentifier, _decode_KeyEncryptionAlgorithmIdentifier, _encode_KeyEncryptionAlgorithmIdentifier, } from "../PKCS7/KeyEncryptionAlgorithmIdentifier.ta";
export { OriginatorIdentifierOrKey, _decode_OriginatorIdentifierOrKey, _encode_OriginatorIdentifierOrKey, } from "../PKCS7/OriginatorIdentifierOrKey.ta";
export { RecipientEncryptedKeys, _decode_RecipientEncryptedKeys, _encode_RecipientEncryptedKeys, } from "../PKCS7/RecipientEncryptedKeys.ta";
export { Version, _decode_Version, _encode_Version } from "../PKCS7/Version.ta";
export declare class KeyAgreementRecipientInfo {
    readonly version: Version;
    readonly originator: OriginatorIdentifierOrKey;
    readonly userKeyingMaterial: OPTIONAL<OCTET_STRING>;
    readonly keyEncryptionAlgorithm: KeyEncryptionAlgorithmIdentifier;
    readonly recipientEncryptedKeys: RecipientEncryptedKeys;
    constructor(version: Version, originator: OriginatorIdentifierOrKey, userKeyingMaterial: OPTIONAL<OCTET_STRING>, keyEncryptionAlgorithm: KeyEncryptionAlgorithmIdentifier, recipientEncryptedKeys: RecipientEncryptedKeys);
    static _from_object(_o: {
        [_K in keyof KeyAgreementRecipientInfo]: KeyAgreementRecipientInfo[_K];
    }): KeyAgreementRecipientInfo;
}
export declare const _root_component_type_list_1_spec_for_KeyAgreementRecipientInfo: $.ComponentSpec[];
export declare const _root_component_type_list_2_spec_for_KeyAgreementRecipientInfo: $.ComponentSpec[];
export declare const _extension_additions_list_spec_for_KeyAgreementRecipientInfo: $.ComponentSpec[];
export declare function _decode_KeyAgreementRecipientInfo(el: _Element): KeyAgreementRecipientInfo;
export declare function _encode_KeyAgreementRecipientInfo(value: KeyAgreementRecipientInfo, elGetter: $.ASN1Encoder<KeyAgreementRecipientInfo>): _Element;
//# sourceMappingURL=KeyAgreementRecipientInfo.ta.d.ts.map