/// <reference types="node" />
import { MessageParserNativeBinding, SignExtendedInfo } from "../types";
import { NodeTrustedMailcore2NativeBinding } from '../types/NodeTrustedMailcore2NativeBinding';
import { Attachment } from './Attachment';
import { MessageHeader } from './MessageHeader';
import { KeyUsagePolicy } from "../enums/KuPolicyType";
declare let bindings: NodeTrustedMailcore2NativeBinding;
/**
 * MessageParser Class
 *
 * @public
 */
declare class MessageParser extends bindings.MessageParser {
    protected handle: MessageParserNativeBinding;
    /**
     * MessageParser class constructor
     *
     *
     * @param {string | Buffer} data Message data to parse
     * @param KeyUsagePolicy kuPolicy Key usage check policy
     * @memberof MessageParser
     */
    constructor(data?: string | Buffer, kuPolicy?: KeyUsagePolicy);
    /**
     * Key usage policy getter
     *
     *
     * @type boolean
     * @memberof MessageParser
     */
    get doNotDecrypt(): boolean;
    /**
     * Key usage policy setter
     *
     *
     * @type boolean
     * @memberof MessageParser
     */
    set doNotDecrypt(decryptVal: boolean);
    /**
     * Key usage policy getter
     *
     *
     * @type KeyUsagePolicy
     * @memberof MessageParser
     */
    get keyUsagePolicy(): KeyUsagePolicy;
    /**
     * Key usage policy setter
     *
     *
     * @type KeyUsagePolicy
     * @memberof MessageParser
     */
    set keyUsagePolicy(policyVal: KeyUsagePolicy);
    /**
     * Method to read data from file asynchronously
     *
     *
     * @param {string} fileName path to file with message to read
     * @memberof MessageParser
     */
    ReadAsync(fileName: string): Promise<void>;
    /**
     * Method to read data from file synchronously
     *
     *
     * @param {string} fileName path to file with message to read
     * @memberof MessageParser
     */
    Read(fileName: string): void;
    /**
     * Method to set folder for temporary files
     *
     *
     * @param {Buffer | string} data memory buffer to read data
     * @memberof MessageParser
     */
    SetTempFolder(tmpFolderPath: string): void;
    /**
     * Method to read data from memory asynchronously
     *
     *
     * @param {Buffer | string} data memory buffer to read data
     * @memberof MessageParser
     */
    ImportAsync(data: Buffer | string): Promise<void>;
    /**
     * Method to read data from memory
     *
     *
     * @param {Buffer | string} data memory buffer to read data
     * @memberof MessageParser
     */
    Import(data: Buffer | string): void;
    /**
     * Message header getter
     *
     *
     * @type {MessageHeader}
     * @memberof MessageParser
     */
    get header(): MessageHeader | undefined;
    /**
     * Method to get rendered html from message
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    HtmlRendering(): string;
    /**
     * Method to get rendered html body from message
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    HtmlBodyRendering(): string;
    /**
     * Method to get rendered plain text from message
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    PlainTextRendering(): string;
    /**
     * Method to get rendered plain text body from message
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    PlainTextBodyRendering(): string;
    /**
     * Attachments getter
     *
     *
     * @type {Attachment[]}
     * @memberof MessageParser
     */
    get attachments(): Attachment[];
    /**
     * HTML inline attachments getter
     *
     *
     * @type {Attachment[]}
     * @memberof MessageParser
     */
    get htmlInlineAttachments(): Attachment[];
    /**
     * Message is signed getter
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get isSigned(): boolean;
    /**
     * Message is encrypted getter
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get isEncrypted(): boolean;
    /**
     * Signed message verify result getter
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get verifyResult(): boolean;
    /**
     * Sertificate value getter (for signed messages)
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get signerCertificate(): Buffer;
    /**
     * Signature extended information getter
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get extendedSignInfo(): SignExtendedInfo | undefined;
    /**
     * Encrypted message decrypt result getter
     *
     *
     * @type {boolean}
     * @memberof MessageParser
     */
    get decryptResult(): boolean;
    /**
     * Encrypted message description of decrypt result getter
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    get decryptMessage(): string;
    /**
     * Clears retained message data (and closes opened file)
     *
     *
     * @type {string}
     * @memberof MessageParser
     */
    clear(): void;
}
export { MessageParser };
//# sourceMappingURL=MessageParser.d.ts.map