export default UnRTF;
export type OptionDetails = {
    /**
     * The argument to pass to the binary.
     */
    arg: string;
    /**
     * The type of the option.
     */
    type: ("boolean" | "number" | "string");
    /**
     * The minimum version of the binary that supports this option.
     */
    minVersion: string;
    /**
     * The maximum version of the binary that supports this option (optional).
     */
    maxVersion?: string | undefined;
};
export type UnRTFAcceptedOptions = Readonly<Record<string, Readonly<OptionDetails>>>;
export type UnRTFOptions = {
    /**
     * Disable the automatic storing of embedded
     * pictures to the current working directory.
     */
    noPictures?: boolean | undefined;
    /**
     * Disable charset conversion (only works for 8-bit charsets)
     * (UnRTF v0.20.5 or later only).
     */
    noRemap?: boolean | undefined;
    /**
     * Generate HTML output.
     */
    outputHtml?: boolean | undefined;
    /**
     * Generate LaTeX output.
     */
    outputLatex?: boolean | undefined;
    /**
     * Generate PostScript (PS) output (UnRTF v0.19.4 or earlier only).
     */
    outputPs?: boolean | undefined;
    /**
     * Generate RTF output. (UnRTF v0.21.3 or later only).
     */
    outputRtf?: boolean | undefined;
    /**
     * Generate ASCII text output.
     */
    outputText?: boolean | undefined;
    /**
     * Generate text output with VT100 escape codes.
     */
    outputVt?: boolean | undefined;
    /**
     * Generate WPML output (UnRTF v0.19.4 or earlier only).
     */
    outputWpml?: boolean | undefined;
    /**
     * Print copyright and version info.
     */
    printVersionInfo?: boolean | undefined;
    /**
     * Do not print any leading comments in output (UnRTF v0.21.3 or later only).
     */
    quiet?: boolean | undefined;
};
export type UnRTFExtraOptions = {
    /**
     * An `AbortSignal` that can be used to cancel the operation.
     */
    signal?: AbortSignal | undefined;
};
export class UnRTF {
    /** @type {UnRTFAcceptedOptions} */
    static "__#private@#acceptedOptions": UnRTFAcceptedOptions;
    /**
     * @param {string} [binPath] - Path of UnRTF binary.
     * If not provided, the constructor will attempt to find the binary
     * in the PATH environment variable.
     *
     * For `win32`, a binary is bundled with the package and will be used
     * if a local installation is not found.
     * @throws {Error} If UnRTF binary cannot be found or version cannot be determined.
     */
    constructor(binPath?: string);
    /**
     * @description Returns the path of the UnRTF binary.
     * @returns {string} Path of UnRTF binary.
     */
    get path(): string;
    /**
     * @description Returns the version of the UnRTF binary.
     * @returns {string} Version of UnRTF binary.
     */
    get version(): string;
    /**
     * @author Frazer Smith
     * @description Converts an RTF file to HTML/LaTeX/RTF/TXT.
     * Defaults to HTML output if no `output*` options are provided.
     * UnRTF will use the directory of the original file to store embedded pictures.
     * @param {string} file - Filepath of the RTF file to read.
     * @param {UnRTFOptions} [options] - Options to pass to UnRTF binary.
     * @param {UnRTFExtraOptions} [extras] - Non-CLI options.
     * @returns {Promise<string>}  A promise that resolves with a stdout string, or rejects with an `Error` object.
     * @throws {Error} If the file is missing, not an RTF file, or if UnRTF returns an error.
     */
    convert(file: string, options?: UnRTFOptions, extras?: UnRTFExtraOptions): Promise<string>;
    #private;
}
