import { LayoutGroup, LayoutNode, LayoutGroupOptions } from './base';
import { Page } from './Page';
import { TableCell } from './TableCell';
import { EventUtil } from './utils/EventUtil';
type ParagraphParent = Page | TableCell;
export interface ParagraphOptions extends LayoutGroupOptions {
}
export interface Border {
    color?: string;
    width?: number;
}
/**
 * 段落
 * 容器节点，包含多个 BaseRun
 */
export declare class Paragraph extends LayoutGroup<LayoutNode> {
    type: 'paragraph';
    component: "paragraph";
    parent: ParagraphParent;
    baseline: number;
    splitFillEvent: EventUtil;
    constructor(options: ParagraphOptions);
    /**
     * 重写 addChild 方法，添加后置钩子
     */
    addChild(child: LayoutNode): void;
    /**
     * 子节点添加后的钩子
     * @param child 新添加的子节点
     */
    protected onChildAdded(child: LayoutNode): void;
    get width(): number;
    getContextWidth(): number;
    /**
     * 获取剩余空间
     */
    getRemainingSize(): number;
    layout(x: number, y: number): void;
    private applyStyle;
    /**
     * 基于基线调整文本垂直位置
     */
    private applyBaseline;
    /**
     * 获取段落中 height*lineHeight 最大的文本 run
     */
    private getMaxTextRun;
}
export {};
