export interface ContentOptions {
    maxLength?: number;
    page?: number;
    pageSize?: number;
    maxElements?: number;
}
export interface ContentResult {
    content: string;
    pagination?: {
        currentPage: number;
        totalPages: number;
        hasMore: boolean;
        totalElements?: number;
        processedElements?: number;
    };
}
export declare class ContentExtractor {
    private static nhm;
    /**
     * Extract readable content from HTML with chunked processing
     */
    static extractReadableContent(html: string, url?: string, options?: ContentOptions): ContentResult;
    /**
     * Extract content in chunks to handle large pages
     */
    private static extractContentChunked;
    /**
     * Convert HTML to markdown using node-html-markdown
     */
    private static convertToMarkdown;
    /**
     * Find main content area without modifying DOM
     */
    private static findMainContent;
    /**
     * Clean HTML for markdown conversion without modifying original DOM
     */
    private static cleanHtmlForMarkdown;
    /**
     * Remove unwanted elements from temporary document
     */
    private static removeUnwantedElementsFromTemp;
    /**
     * Paginate content for large documents
     */
    static paginateContent(content: string, page: number, pageSize: number): ContentResult;
    /**
     * Extract just plain text without markdown formatting
     */
    static extractPlainText(html: string, options?: ContentOptions): ContentResult;
}
//# sourceMappingURL=content-extractor.d.ts.map