import * as PIXI from "pixi.js-legacy";
import * as MedsurfDraw from "../../public-api";
import { ImageObject } from "./ImageObject";
import { ModeInteraction } from "../../public-api";
export declare class BaseTextModel {
    text: string;
    style: any | PIXI.TextStyle;
    canvas?: HTMLCanvasElement;
}
export declare class BaseTextImageModel extends BaseTextModel {
    image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage;
}
export declare abstract class BaseText<TData extends BaseTextModel | BaseTextImageModel> extends PIXI.Text {
    protected _data: TData;
    protected _modeInteraction: ModeInteraction<ImageObject>;
    protected constructor(data: TData);
    abstract init(parent: MedsurfDraw.ImageObject): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    getRectangle(): PIXI.Rectangle;
    getElementRectangle(): PIXI.Rectangle;
    getRotation(): number;
    showItem(): void;
    hideItem(): void;
    toggleItem(override?: boolean): void;
    onImageZoom(scaleX: number, scaleY: number): void;
    get data(): TData;
    set data(value: TData);
    get image(): MedsurfDraw.Image | MedsurfDraw.DeepZoomImage;
    get imageCanvas(): HTMLCanvasElement;
    get imageScale(): PIXI.IPoint;
    get imageDimensions(): MedsurfDraw.Dimensions;
    get modeInteraction(): ModeInteraction<ImageObject>;
    set modeInteraction(value: ModeInteraction<ImageObject>);
}
