import type { IContext2d, IRichTextParagraphCharacter } from '../../interface';
export default class Paragraph {
    text: string;
    ascent: number;
    descent: number;
    width: number;
    height: number;
    lineHeight: number;
    fontSize: number;
    length: number;
    newLine: boolean;
    character: IRichTextParagraphCharacter;
    left: number;
    top: number;
    direction?: 'horizontal' | 'vertical';
    widthOrigin?: number;
    heightOrigin?: number;
    textBaseline?: CanvasTextBaseline;
    ascentDescentMode?: 'actual' | 'font';
    ellipsis: 'normal' | 'add' | 'replace' | 'hide';
    ellipsisStr: string;
    ellipsisWidth: number;
    ellipsisOtherParagraphWidth: number;
    verticalEllipsis?: boolean;
    overflow?: boolean;
    constructor(text: string, newLine: boolean, character: IRichTextParagraphCharacter, ascentDescentMode?: 'actual' | 'font');
    updateWidth(): void;
    drawBackground(ctx: IContext2d, top: number, ascent: number, deltaLeft: number, isLineFirst: boolean, textAlign: string, lineHeight: number): {
        fillStyle: string;
        globalAlpha: number;
        left: number;
        top: number;
        right: number;
        bottom: number;
    };
    draw(ctx: IContext2d, top: number, ascent: number, deltaLeft: number, isLineFirst: boolean, textAlign: string, lineHeight: number): void;
    getWidthWithEllips(direction: string): number;
}
export declare function seperateParagraph(paragraph: Paragraph, index: number): Paragraph[];
