import { ImageViewerOptions } from './image-viewer.types';
/**
* Headless image/content viewer with zoom (wheel + buttons), pan (drag),
* and fullscreen expand. Works on any content (images, HTML previews, etc).
*
* Markup:
* ```html
*
*
*
+
*
-
*
Reset
*
Fullscreen
*
*
* ```
*/
export declare class ImageViewer {
private readonly root;
private readonly content;
private readonly indicator;
private readonly minZoom;
private readonly maxZoom;
private zoom;
private translateX;
private translateY;
private expanded;
private isDragging;
private startX;
private startY;
private startTX;
private startTY;
private cleanups;
constructor(root: HTMLElement, options?: ImageViewerOptions);
private init;
private bindBtn;
private get scale();
private applyTransform;
private constrainPosition;
private emitZoom;
private startDrag;
private drag;
private stopDrag;
zoomIn(): void;
zoomOut(): void;
resetView(): void;
toggleExpanded(): void;
get isExpanded(): boolean;
get currentZoom(): number;
get currentScale(): number;
on(event: string, handler: (event: E) => void): () => void;
destroy(): void;
}