import { OCRResult, TableResult, LayoutResult } from "../typings"; import { VisualizerOptions } from "./visualTypes"; /** * OCR结果可视化组件 * 用于在浏览器环境中可视化展示OCR识别结果 */ export declare class ResultVisualizer { private canvas; private ctx; private image; private result; private options; private highlightedIndex; private mode; private listeners; private accessibilityContainer; private ariaLive; /** * 创建OCR结果可视化组件 * @param container 容器元素或其ID * @param options 可视化选项 */ constructor(container: string | HTMLElement, options?: Partial); /** * 设置无障碍支持 * @param container 容器元素 */ private setupAccessibility; /** * 处理键盘事件 */ private handleKeyDown; /** * 结果导航 */ private navigateResults; /** * 更新无障碍信息 */ private updateAccessibilityInfo; /** * 应用主题 */ private applyTheme; /** * 设置可视化模式 * @param mode 模式:text, table 或 layout */ setMode(mode: "text" | "table" | "layout"): void; /** * 加载图像 * @param image 图像源 */ loadImage(image: string | HTMLImageElement | HTMLCanvasElement): Promise; /** * 设置OCR结果 * @param result OCR结果 */ setResult(result: OCRResult | TableResult | LayoutResult): void; /** * 更新可视化选项 * @param options 可视化选项 */ updateOptions(options: Partial): void; /** * 渲染可视化结果 */ render(): void; /** * 渲染OCR文本结果 * @param result OCR结果 */ private renderTextResult; /** * 渲染表格结果 * @param result 表格结果 */ private renderTableResult; /** * 渲染版面分析结果 * @param result 版面分析结果 */ private renderLayoutResult; /** * 调整画布大小 */ private resizeCanvas; /** * 设置事件监听器 */ private setupEventListeners; /** * 设置调整大小观察器 */ private setupResizeObserver; /** * 处理鼠标移动事件 */ private handleMouseMove; /** * 处理点击事件 */ private handleClick; /** * 查找元素索引 */ private findElementIndex; /** * 查找单元格索引 */ private findCellIndex; /** * 查找区域索引 */ private findRegionIndex; /** * 判断点是否在多边形内 */ private pointInPolygon; /** * 根据索引获取元素 */ private getElementByIndex; /** * 添加事件监听器 */ addEventListener(event: string, listener: EventListener): void; /** * 移除事件监听器 */ removeEventListener(event: string, listener: EventListener): void; /** * 触发事件 */ private triggerEvent; /** * 导出为图像 */ exportImage(type?: "png" | "jpeg" | "webp", quality?: number): string; /** * 清除显示 */ clear(): void; /** * 销毁组件 */ dispose(): void; /** * 设置触控支持 */ private setupTouchEvents; private touchStartX; private touchStartY; private isTouching; /** * 处理触摸开始事件 */ private handleTouchStart; /** * 处理触摸移动事件 */ private handleTouchMove; /** * 处理触摸结束事件 */ private handleTouchEnd; /** * 导出为无障碍文本 */ exportAccessibleText(): string; }