import BaseFoundation, { DefaultAdapter } from "../base/foundation"; export interface PreviewImageAdapter

, S = Record> extends DefaultAdapter { getContainer: () => HTMLDivElement; getImage: () => HTMLImageElement; setLoading: (loading: boolean) => void; setImageCursor: (canDrag: boolean) => void; } export interface DragDirection { canDragVertical: boolean; canDragHorizontal: boolean; } export interface ExtremeTranslate { x: number; y: number; } export interface Offset { x: number; y: number; } export interface Translate { x: number; y: number; } interface CalcBoundingRectMouseOffset { offset: Offset; width: number; height: number; rotation?: number; } export interface BoundingRectSize { width: number; height: number; } export default class PreviewImageFoundation

, S = Record> extends BaseFoundation, P, S> { constructor(adapter: PreviewImageAdapter); startMouseClientPosition: { x: number; y: number; }; originImageWidth: any; originImageHeight: any; containerWidth: number; containerHeight: number; init(): void; _isImageVertical: () => boolean; _getContainerBoundingRectSize: () => void; _getAdaptationZoom: () => number; _getInitialZoom: () => number; setLoading: (loading: boolean) => void; handleWindowResize: () => void; handleLoad: (e: any) => void; handleError: (e: any) => void; handleRatioChange: () => void; initializeImageZoom: (notify?: boolean) => void; initializeTranslate: () => void; initializeImage: (notify?: boolean) => void; handleRightClickImage: (e: any) => boolean; calcBoundingRectSize(width?: number, height?: number, rotation?: number): { width: number; height: number; }; getCanDragDirection: (width: number, height: number) => DragDirection; changeZoom: (newZoom: number, e?: WheelEvent) => void; getExtremeTranslate: (width: number, height: number) => ExtremeTranslate; getSafeTranslate: (width: number, height: number, translateX: number, translateY: number) => { x: number; y: number; }; handleImageMove: (e: MouseEvent) => void; moveImage: (e: MouseEvent) => void; handleImageMouseDown: (e: any) => void; calcBoundingRectMouseOffset: (calcBoundingRectMouseOffset: CalcBoundingRectMouseOffset) => { x: number; y: number; }; } export {};