import { ComponentRef, ViewContainerRef } from '@angular/core'; import { BaseElement, BaseOperation, Element } from 'slate'; import { PlaitRichtextComponent } from '../richtext/richtext.component'; import { PlaitBoard, Point, RectangleClient } from '@plait/core'; import { CustomElement, TextPlugin } from '../custom-types'; import { PlaitTextEditor } from '../plugins/text.editor'; export declare enum ExitOrigin { 'destroy' = "destroy", 'default' = "default" } export interface TextManageRef { newValue?: Element; width: number; height: number; operations?: BaseOperation[]; } export declare class TextManage { private board; private viewContainerRef; private options; componentRef: ComponentRef; g: SVGGElement; foreignObject: SVGForeignObjectElement; isEditing: boolean; onSelectionChangeHandle: ((editor: PlaitTextEditor) => void) | null; private exitHandle; setEditing(value: boolean): void; constructor(board: PlaitBoard, viewContainerRef: ViewContainerRef, options: { getRectangle: () => RectangleClient; onValueChangeHandle?: (textChangeRef: TextManageRef) => void; getRenderRectangle?: () => RectangleClient; textPlugins?: TextPlugin[]; getMaxWidth?: () => number; }); draw(value: Element): void; updateRectangleWidth(width: number): void; updateAngle(centerPoint: Point, angle?: number): void; updateRectangle(rectangle?: RectangleClient): void; updateText(newText: BaseElement): void; edit(onExitCallback?: (origin: ExitOrigin, text: CustomElement[]) => void): void; getSize(): { width: number; height: number; }; setOnChangeHandle(onChange: ((editor: PlaitTextEditor) => void) | null): void; destroy(): void; }