export type LiteParseInput = string | Buffer | Uint8Array;
export type OutputFormat = "json" | "text";
export interface LiteParseConfig {
    ocrLanguage: string;
    ocrEnabled: boolean;
    ocrServerUrl?: string;
    tessdataPath?: string;
    maxPages: number;
    targetPages?: string;
    dpi: number;
    outputFormat: OutputFormat;
    preserveVerySmallText: boolean;
    password?: string;
    quiet: boolean;
    numWorkers: number;
}
export interface TextItem {
    text: string;
    x: number;
    y: number;
    width: number;
    height: number;
    fontName?: string;
    fontSize?: number;
    confidence?: number;
}
export interface ParsedPage {
    pageNum: number;
    width: number;
    height: number;
    text: string;
    textItems: TextItem[];
}
export interface ParseResult {
    pages: ParsedPage[];
    text: string;
}
export interface ScreenshotResult {
    pageNum: number;
    width: number;
    height: number;
    imageBuffer: Buffer;
}
export declare class LiteParse {
    private _native;
    private _config;
    constructor(userConfig?: Partial<LiteParseConfig>);
    parse(input: LiteParseInput): Promise<ParseResult>;
    screenshot(input: LiteParseInput, pageNumbers?: number[]): Promise<ScreenshotResult[]>;
    getConfig(): LiteParseConfig;
}
export interface SearchItemsOptions {
    phrase: string;
    caseSensitive?: boolean;
}
export declare function searchItems(items: TextItem[], options: SearchItemsOptions): TextItem[];
export default LiteParse;
//# sourceMappingURL=lib.d.ts.map