react-native-gesture-image-viewer
Version:
🖼️ A highly customizable and easy-to-use React Native image viewer with gesture support and external controls
52 lines • 2.13 kB
TypeScript
import { type SharedValue } from 'react-native-reanimated';
import type { GestureViewerControllerState, GestureViewerEventCallback, GestureViewerEventType } from './types';
declare class GestureViewerManager {
private currentIndex;
private dataLength;
private width;
private height;
private maxZoomScale;
private enableSwipeGesture;
private enableLoop;
private listRef;
private scale;
private rotation;
private translateX;
private translateY;
private loopCallback;
private listeners;
private eventListeners;
private notifyListeners;
subscribe(listener: (state: GestureViewerControllerState) => void): () => void;
addEventListener<T extends GestureViewerEventType>(eventType: T, callback: GestureViewerEventCallback<T>): () => void;
private emitEvent;
emitZoomChange: (scale: number, previousScale: number | null) => void;
emitRotationChange: (rotation: number, previousRotation: number | null) => void;
getState(): {
currentIndex: number;
totalCount: number;
};
setEnableLoop(enabled: boolean): void;
setWidth(width: number): void;
setHeight(height: number): void;
setListRef(ref: any): void;
setDataLength(length: number): void;
setEnableSwipeGesture(enabled: boolean): void;
setCurrentIndex(index: number): void;
setZoomSharedValues(scale: SharedValue<number>, translateX: SharedValue<number>, translateY: SharedValue<number>, maxZoomScale: number): void;
notifyStateChange(): void;
setRotation(rotation: SharedValue<number>): void;
rotate: (angle?: 0 | 90 | 180 | 270 | 360, clockwise?: boolean) => void;
zoomIn: (multiplier?: number) => void;
zoomOut: (multiplier?: number) => void;
resetZoom: (scale?: number) => void;
goToIndex: (index: number) => void;
handleMomentumScrollEnd: (scrollIndex: number) => boolean;
handleScrollBeginDrag: () => void;
goToPrevious: () => void;
goToNext: () => void;
cleanUp(): void;
private updateCurrentIndex;
}
export default GestureViewerManager;
//# sourceMappingURL=GestureViewerManager.d.ts.map