import { default as Konva } from 'konva';
import { Renderer } from './types';
import { Doc } from '../view/Doc';
import { Page } from '../view/Page';
import { Paragraph } from '../view/Paragraph';
import { ImageRun } from '../view/runs/ImageRun';
import { TextRun } from '../view/runs/TextRun';
import { Table } from '../view/Table';
import { TableRow } from '../view/TableRow';
import { TableCell } from '../view/TableCell';
export declare class KonvaRenderer implements Renderer {
    private stage;
    private layer;
    init(container: HTMLElement): void;
    renderDoc(doc: Doc): void;
    renderPage(page: Page): void;
    /**
     * 渲染表格
     * @param container 父容器
     * @param table 表格实例
     */
    renderTable(container: Konva.Group, table: Table): void;
    /**
     * 渲染表格行
     * @param container 表格容器
     * @param row 行实例
     * @param yOffset 行的 Y 偏移
     * @param rowIndex 行索引
     */
    renderTableRow(container: Konva.Group, row: TableRow, yOffset: number, rowIndex: number): void;
    /**
     * 渲染表格单元格
     * @param container 行容器
     * @param cell 单元格实例
     * @param x 单元格 X 坐标
     * @param y 单元格 Y 坐标
     * @param width 单元格宽度
     * @param height 单元格高度
     */
    renderTableCell(container: Konva.Group, cell: TableCell, x: number, y: number, width: number, height: number): void;
    renderParagraph(container: Konva.Group, paragraph: Paragraph, index: number): void;
    renderText(container: Konva.Group, run: TextRun): void;
    renderImage(container: Konva.Group, run: ImageRun): void;
    clear(): void;
    destroy(): void;
}
