/** * Loads a PDF document using pdf.js library * @param filePath Path to the PDF file * @returns Promise resolving to the loaded PDF document */ export declare function loadPdfWithPdfjs(filePath: string): Promise; /** * Extracts text from the specified pages of a PDF document * @param pdfDocument The PDF document loaded with pdf.js * @param pageNumbers Array of page numbers to extract text from (1-based indexing) * @returns Promise resolving to an array of objects with page number and extracted text */ export declare function extractTextFromPages(pdfDocument: any, pageNumbers?: number[]): Promise<{ page: number; text: string; }[]>; interface PDFMetadata { fileName: string; fileSize: string; pageCount: number; author: string; creationDate: string; modificationDate: string; keywords: string[]; } interface ExtractedTable { rows: string[][]; pageNumber: number; } interface ExtractedText { page: number; text: string; } export declare class PDFService { static extractText(filePath: string, pageNumbers?: number[]): Promise; /** * Extracts tables from a PDF document * @param filePath Path to the PDF file * @param pageNumbers Optional specific pages to extract from * @returns Array of extracted tables */ static extractTables(filePath: string, pageNumbers?: number[]): Promise; /** * Gets metadata from a PDF document * @param filePath Path to the PDF file * @returns The document metadata */ static getMetadata(filePath: string): Promise; /** * Analyzes a PDF document * @param filePath Path to the PDF file * @param analysisType Type of analysis to perform * @returns Analysis results */ static analyzeDocument(filePath: string, analysisType: 'structure' | 'content' | 'images' | 'classification'): Promise; } export {};