import type React from 'react'; import type { ViewStyle } from 'react-native'; import type { CommonResumableProps, CommonTransformState, CommonZoomState, LongPressCallbacks, PanGestureCallbacks, PinchMode, PinchGestureCallbacks, Rect, SizeVector, SwipeDirection, TapGestureCallbacks, Vector, } from '../../commons/types'; export type ResumableZoomProps = Partial<{ style: ViewStyle; decay: boolean; extendGestures: boolean; tapsEnabled: boolean; panEnabled: boolean; pinchEnabled: boolean; maxScale: SizeVector | number; pinchMode: PinchMode; longPressDuration: number; onSwipe: (direction: SwipeDirection) => void; onUpdate: (e: CommonZoomState) => void; onOverPanning: (x: number, y: number) => void; }> & { children: React.ReactNode } & PanGestureCallbacks & PinchGestureCallbacks & LongPressCallbacks & Omit & Omit; export interface ResumableZoomRefType { reset: (animate?: boolean) => void; getState: () => CommonZoomState; setTransformState: ( state: CommonTransformState, animate?: boolean ) => void; zoom: (newScale: number, position?: Vector) => void; getVisibleRect: () => Rect; }