/// <reference types="node" resolution-mode="require"/>
import { Document } from "../Node.js";
import { FileReader, type Language, type ResultType } from "./type.js";
/**
 * Represents a reader for parsing files using the LlamaParse API.
 * See https://github.com/run-llama/llama_parse
 */
export declare class LlamaParseReader extends FileReader {
    apiKey: string;
    baseUrl: string;
    resultType: ResultType;
    checkInterval: number;
    maxTimeout: number;
    verbose: boolean;
    language: Language;
    parsingInstruction?: string;
    skipDiagonalText?: boolean;
    invalidateCache?: boolean;
    doNotCache?: boolean;
    fastMode?: boolean;
    doNotUnrollColumns?: boolean;
    pageSeperator?: string;
    gpt4oMode: boolean;
    gpt4oApiKey?: string;
    constructor(params?: Partial<LlamaParseReader>);
    private createJob;
    private getJobResult;
    /**
     * Loads data from a file and returns an array of Document objects.
     * To be used with resultType = "text" and "markdown"
     *
     * @param {Buffer} fileContent - The content of the file to be loaded.
     * @return {Promise<Document[]>} A Promise object that resolves to an array of Document objects.
     */
    loadDataAsContent(fileContent: Buffer): Promise<Document[]>;
    /**
     * Loads data from a file and returns its contents as a JSON object.
     * To be used with resultType = "json"
     *
     * @param {string} file - The path to the file to be loaded.
     * @return {Promise<Record<string, any>>} A Promise that resolves to the JSON object.
     */
    loadJson(file: string): Promise<Record<string, any>>;
    /**
     * Downloads and saves images from a given JSON result to a specified download path.
     * Currently only supports resultType = "json"
     *
     * @param {Record<string, any>[]} jsonResult - The JSON result containing image information.
     * @param {string} downloadPath - The path to save the downloaded images.
     * @return {Promise<Record<string, any>[]>} A Promise that resolves to an array of image objects.
     */
    getImages(jsonResult: Record<string, any>[], downloadPath: string): Promise<Record<string, any>[]>;
    private getMimeType;
}
