import * as SvgPanZoom from "@dash14/svg-pan-zoom"; export interface Box { top: number; bottom: number; left: number; right: number; } interface ViewArea { box: Box; center: SvgPanZoom.Point; } export interface SvgPanZoomInstance extends SvgPanZoom.Instance { getViewArea(): ViewArea; getViewBox(): Box; setViewBox(box: Box): void; getRealZoom(): number; applyAbsoluteZoomLevel(zoomLevel: number, minZoomLevel: number, maxZoomLevel: number): void; setPanEnabled(enabled: boolean): SvgPanZoomInstance; setZoomEnabled(enabled: boolean): SvgPanZoomInstance; } export interface CustomEventOptions { svgElement: SVGSVGElement; instance: SvgPanZoomInstance; } export interface CustomEventHandler { init: (options: CustomEventOptions) => void; haltEventListeners: string[]; destroy: (options: CustomEventOptions) => void; } export interface SvgPanZoomOptions extends Omit { customEventsHandler?: CustomEventHandler; } export interface SvgPanZoomInternal extends SvgPanZoomInstance { _isPanEnabled: boolean; _isZoomEnabled: boolean; _internalIsPanEnabled(): boolean; _internalEnablePan(): void; _internalDisablePan(): void; _internalIsZoomEnabled(): boolean; _internalEnableZoom(): void; _internalDisableZoom(): void; } export declare function createSvgPanZoomEx(svg: SVGElement, options: SvgPanZoomOptions): SvgPanZoomInstance; export {};