import type { HTMLNodeVisitor } from "./converters.js"; /** * Base handler class implementing the Chain of Responsibility pattern for HTML node processing. * Each concrete handler decides whether it can process a node or should pass it to the next handler. */ export declare abstract class NodeHandler { protected next: NodeHandler | null; /** * Sets up the next handler in the chain */ setNext(handler: NodeHandler): NodeHandler; /** * Process the given node or delegate to the next handler */ abstract handle(node: Node, visitor: HTMLNodeVisitor): string; /** * Delegates processing to the next handler in the chain */ protected handleNext(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles text nodes, converting them to markdown text */ export declare class TextNodeHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles anchor elements, converting them to markdown links */ export declare class LinkHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles header elements (h1-h6), converting them to markdown headers */ export declare class HeaderHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles paragraph elements, converting them to markdown paragraphs */ export declare class ParagraphHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles text formatting elements (b, strong, i, em), converting them to markdown formatting */ export declare class FormattingHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles code elements, converting them to markdown code blocks or inline code */ export declare class CodeHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Fallback handler for any HTML elements not handled by other specific handlers */ export declare class GenericHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles ordered list elements, converting them to markdown ordered lists */ export declare class OrderedListHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles unordered list elements, converting them to markdown unordered lists */ export declare class UnorderedListHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles div elements, converting them to markdown paragraphs */ export declare class DivHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles br elements, converting them to markdown newlines */ export declare class BrHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles table row elements, converting them to markdown table rows */ export declare class TableRowHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles table elements, converting them to markdown tables */ export declare class TableHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; } /** * Handles image elements, converting them to markdown images */ export declare class ImageHandler extends NodeHandler { handle(node: Node, visitor: HTMLNodeVisitor): string; }