import { SVGWidget } from "./SVGWidget.ts";
import { IconBar, ToggleButton } from "./TitleBar.ts";
import "../src/SVGZoomWidget.css";
export type MouseMode = "zoom" | "marqueeSelection";
export declare class SVGZoomWidget extends SVGWidget {
    protected _renderElement: any;
    private _currZoom;
    protected _zoomScale: number;
    protected _zoomTranslate: number[];
    protected _zoomRoot: any;
    protected _zoomGrab: any;
    protected _zoomG: any;
    private _prevZoomable;
    protected _marqueeSelectionRoot: any;
    protected _marqueeSelection: any;
    protected _autoSelectionMode: boolean;
    protected _toggleMarqueeSelection: ToggleButton;
    protected _toggleZoom: ToggleButton;
    _iconBar: IconBar;
    constructor();
    getScreenBBox(target: any): {
        x: any;
        y: any;
        width: number;
        height: number;
    };
    zoomScale(): number;
    zoomTranslate(): number[];
    zoomExtent(range: any): void;
    zoomTo(translate?: any, scale?: any, transitionDuration?: number): void;
    zoomPlus(): void;
    zoomMinus(): void;
    centerOnBBox(bbox: any, transitionDuration?: any): void;
    getRenderElementBBox(): any;
    calcZoomToBBox(bbox: any, widthOnly?: boolean, scale?: number): {
        translate: number[];
        newScale: number;
    };
    zoomToBBox(bbox: any, transitionDuration?: any, widthOnly?: boolean, scale?: number): void;
    zoomToScale(scale: any, transitionDuration?: any): void;
    zoomToWidth(transitionDuration?: any): void;
    zoomToFit(transitionDuration?: any): void;
    onZoomed(): void;
    zoomed(transform: any): void;
    updateIconBar(): void;
    mousedownMarqueeSelection(): void;
    mousemoveMarqueeSelection(): void;
    mouseupMarqueeSelection(): void;
    enter(domNode: any, _element: any): void;
    update(domNode: any, element: any): void;
    exit(domNode: any, element: any): void;
    startMarqueeSelection(): void;
    updateMarqueeSelection(rect: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): void;
    endMarqueeSelection(): void;
}
export interface SVGZoomWidget {
    showToolbar(): boolean;
    showToolbar(_: boolean): this;
    zoomable(): boolean;
    zoomable(_: boolean): this;
    zoomDuration(): number;
    zoomDuration(_: number): this;
    zoomToFitLimit(): number;
    zoomToFitLimit(_: number): this;
    zoomToFitLimit_exists(): boolean;
    mouseMode(_: MouseMode): this;
    mouseMode(): MouseMode;
}
