import { LiteParseConfig, LiteParseInput, ParseResult, ScreenshotResult } from "./types.js";
/**
 * Main document parser class. Handles PDF parsing, OCR, format conversion,
 * and screenshot generation.
 *
 * @example Basic text extraction
 * ```typescript
 * import { LiteParse } from "@llamaindex/liteparse";
 *
 * const parser = new LiteParse();
 * const result = await parser.parse("document.pdf");
 * console.log(result.text);
 * ```
 *
 * @example JSON output with bounding boxes
 * ```typescript
 * const parser = new LiteParse({ outputFormat: "json", dpi: 300 });
 * const result = await parser.parse("document.pdf");
 * for (const page of result.json.pages) {
 *   console.log(`Page ${page.page}: ${page.boundingBoxes.length} bounding boxes`);
 * }
 * ```
 *
 * @example Using an HTTP OCR server
 * ```typescript
 * const parser = new LiteParse({
 *   ocrServerUrl: "http://localhost:8828/ocr",
 *   ocrLanguage: "en",
 * });
 * const result = await parser.parse("scanned-document.pdf");
 * ```
 */
export declare class LiteParse {
    private config;
    private pdfEngine;
    private ocrEngine?;
    /**
     * Create a new LiteParse instance.
     *
     * @param userConfig - Partial configuration to override defaults. See {@link LiteParseConfig} for all options.
     */
    constructor(userConfig?: Partial<LiteParseConfig>);
    /**
     * Parse a document and return the extracted text, page data, and optionally structured JSON.
     *
     * Supports PDFs natively. Non-PDF formats (DOCX, XLSX, images, etc.) are automatically
     * converted to PDF before parsing if the required system tools are installed.
     *
     * @param input - A file path, `Buffer`, or `Uint8Array` containing document bytes.
     *   When given raw bytes, PDF data is parsed directly with zero disk I/O.
     *   Non-PDF bytes are written to a temp file for format conversion.
     * @param quiet - If `true`, suppresses progress logging to stderr.
     * @returns Parsed document data including text, per-page info, and optional JSON.
     *
     * @throws Error if the file cannot be found, converted, or parsed.
     */
    parse(input: LiteParseInput, quiet?: boolean): Promise<ParseResult>;
    /**
     * Generate screenshots of PDF pages as image buffers.
     *
     * Uses PDFium for high-quality rendering. Each page is returned as a
     * {@link ScreenshotResult} with the raw image buffer and dimensions.
     *
     * @param input - A file path, `Buffer`, or `Uint8Array` containing PDF bytes.
     * @param pageNumbers - 1-indexed page numbers to screenshot. If omitted, all pages are rendered.
     * @param quiet - If `true`, suppresses progress logging to stderr.
     * @returns Array of screenshot results, one per rendered page.
     */
    screenshot(input: LiteParseInput, pageNumbers?: number[], quiet?: boolean): Promise<ScreenshotResult[]>;
    /**
     * Run OCR on pages that need it (in parallel with concurrency limit)
     */
    private runOCR;
    /**
     * Process OCR for a single page
     */
    private processPageOcr;
    /**
     * Get a copy of the current configuration, including defaults merged with user overrides.
     *
     * @returns A shallow copy of the active {@link LiteParseConfig}.
     */
    getConfig(): LiteParseConfig;
}
//# sourceMappingURL=parser.d.ts.map