import * as React from 'react'; import { FlatList } from 'react-native-gesture-handler'; import Animated from 'react-native-reanimated'; import { FlatListProps, View, ViewStyle } from 'react-native'; interface OnMoveEnd { before: any[]; from: number; to: number; after: any[]; } interface Props { data: any[]; hoverStyle?: ViewStyle; onMoveEnd: (data: OnMoveEnd) => void; renderItem: ({ item, index, startDrag, isActive, }: { item: any; index: number; startDrag: () => void; isActive: boolean; }) => React.ReactNode; keyExtractor: (item: any, index: number) => string; flatListProps?: FlatListProps; } interface State { isHoverReady: boolean; activeIndex: number; activeItemHeight: number; activeHoverIndex: number; lastElementIndex: number; itemRefs: React.RefObject[]; itemTransitions: Animated.Value[]; } declare enum ScrollDirection { DOWN = 0, UP = 1 } declare class DraggableFlatList extends React.Component { containerRef: React.RefObject; scrollRef: React.RefObject>; gestureStartPoint: Animated.Value; gestureState: Animated.Value; activeItemAbsoluteY: Animated.Value; activeItemHeight: Animated.Value; activeHoverIndex: Animated.Value; absoluteTranslationY: Animated.Value; translationY: Animated.Value; activeIndex: Animated.Value; viewOffsetTop: Animated.Value; viewOffsetBottom: Animated.Value; scrollOffset: Animated.Value; scrolledOffset: Animated.Value; animatedIsScrolling: Animated.Value; isAnimating: Animated.Value; initialIndex: Animated.Value; finalIndex: Animated.Value; targetItemPositionY: Animated.Value; isScrolling: boolean; onGestureEvent: (...args: any[]) => void; static getDerivedStateFromProps(props: Props, state: State): State; constructor(props: Props); handlePanResponderEnd: (values: any) => void; setHoverComponentReady: () => void; onRowBecomeActive: (index: number) => void; renderItem: ({ item, index }: any) => JSX.Element; scrollUp: (values: any) => void; scrollDown: (values: any) => void; scroll: (direction: ScrollDirection, values: number[]) => void; onScrollEvent: (event: any) => void; renderSelectedComponent: () => JSX.Element | null; onChangedHoverIndex: (value: any) => void; render(): JSX.Element; } export default DraggableFlatList;