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 BaseGraphicsModel {
}
export declare class BaseGraphicsImageModel extends BaseGraphicsModel {
    image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage;
}
export declare class BaseGraphics<TData extends BaseGraphicsModel | BaseGraphicsImageModel> extends PIXI.Graphics {
    protected _data: TData;
    protected _modeInteraction: ModeInteraction<ImageObject>;
    protected _debounceDrawMethod: EventListener;
    constructor(data: TData);
    init(parent: MedsurfDraw.ImageObject): void;
    draw(): 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>);
}
