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 BaseSpriteModel {
    texture: PIXI.Texture;
}
export declare class BaseSpriteImageModel extends BaseSpriteModel {
    image: MedsurfDraw.Image | MedsurfDraw.DeepZoomImage;
}
export declare class BaseSprite<TData extends BaseSpriteModel | BaseSpriteImageModel> extends PIXI.Sprite {
    protected _data: TData;
    protected _modeInteraction: ModeInteraction<ImageObject>;
    constructor(data: TData);
    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>);
}
