import { ToolResult } from '../types/index.js';
export interface PDFContent {
    text: string;
    pageCount: number;
    metadata: PDFMetadata;
    pages: PDFPage[];
}
export interface PDFMetadata {
    title?: string;
    author?: string;
    subject?: string;
    creator?: string;
    creationDate?: string;
    modificationDate?: string;
}
export interface PDFPage {
    pageNumber: number;
    text: string;
    wordCount: number;
}
/**
 * PDF Tool for reading and extracting content from PDF files
 * Uses a simple text extraction approach without heavy dependencies
 */
export declare class PDFTool {
    private readonly maxFileSizeMB;
    private vfs;
    /**
     * Extract text content from a PDF file
     */
    extractText(filePath: string, options?: {
        pages?: number[];
        maxPages?: number;
    }): Promise<ToolResult>;
    /**
     * Parse PDF buffer and extract content
     */
    private parsePDF;
    /**
     * Extract metadata from PDF
     */
    private extractMetadata;
    /**
     * Extract text streams from PDF
     */
    private extractTextStreams;
    /**
     * Decode PDF string encoding
     */
    private decodeString;
    /**
     * Parse PDF date format
     */
    private parseDate;
    /**
     * Format output for display
     */
    private formatOutput;
    /**
     * Get PDF info without extracting full text
     */
    getInfo(filePath: string): Promise<ToolResult>;
    /**
     * List PDF files in a directory
     */
    listPDFs(dirPath?: string): Promise<ToolResult>;
    /**
     * Check if a file is a PDF
     */
    isPDF(filePath: string): boolean;
    /**
     * Convert PDF to base64 for API transmission
     */
    toBase64(filePath: string): Promise<ToolResult>;
}
