import * as React from 'react'; import Animated from 'react-native-reanimated'; declare type RenderItem = (props: any) => JSX.Element; declare type DataType = object[] | object[][]; interface ItemBoundaries { top: number; bottom: number; } declare type RenderHeader = () => JSX.Element; interface RightDragAreaOffsets { width: number; marginRight?: number; } interface Props { data: DataType; renderItem: RenderItem | RenderItem[]; keyExtractor: (item: object, index: number) => string; renderHeader?: RenderHeader | RenderHeader[]; updateListOnDragEnd?: (list: DataType) => void; disableUpdateListDebounce?: boolean; updateListDebounceDuration?: number; ref?: React.Ref; disableAutoUpdate?: boolean; disableLongPress?: boolean; enableRightDragArea?: boolean; rightDragAreaOffsets?: RightDragAreaOffsets; } interface MappedItemType { arrayIndex: number; draggableId: number; draggableIdValue: Animated.Value; itemTranslateY: Animated.Value; itemKey: number; } interface State { containerHeight: number; containerWidth: number; containerOffsetLeft: number; itemHeights: number[]; itemBoundaries: ItemBoundaries[]; scrollSpeed: number; dataWithId: MappedItemType[]; isDataMultipleLists: boolean; largestItemHeight: number; initialSetupFinished: number; } export declare class SortableMultilist extends React.Component { state: { containerHeight: number; containerWidth: number; containerOffsetLeft: number; itemHeights: number[]; itemBoundaries: any[]; scrollSpeed: number; dataWithId: MappedItemType[]; isDataMultipleLists: boolean; largestItemHeight: number; initialSetupFinished: number; }; static defaultProps: { disableUpdateListDebounce: boolean; updateListDebounceDuration: number; disableAutoUpdate: boolean; enableRightDragArea: boolean; disableLongPress: boolean; }; mapFirstItemsIds: () => number[]; mapLastItemIds: () => number[]; mapFirstItemRefs: () => React.RefObject[]; mapItemArraysIds: (firstItemIds: any) => any; mapActiveHoverZones: (firstItemIds: any) => { top: number; bottom: number; }[]; mapHeaderRefs: () => React.RefObject[]; resetClassVariables: () => void; getListForSaving: () => any[]; updateListOnDragEnd: () => void; flatListRef: React.RefObject; tapRef: React.RefObject; longPressRef: React.RefObject; panGestureRef: React.RefObject; firstItemRefs: React.RefObject[]; headerRefs: React.RefObject[]; firstItemIds: number[]; lastItemIds: number[]; itemArrayIds: any; itemOffsets: number[]; activeHoverZones: { top: number; bottom: number; }[]; autoScrollResolve: (params: number[]) => void; updateListTimeout: any; dataWithProps: MappedItemType[]; dataToSave: DataType; activeItemIndex: number; activeItemArrayIndex: number; activeHoverIndex: number; activeHoverArrayIndex: number; scrollEnabled: boolean; initialSetUpFinishedValue: Animated.Value<0>; isSavingValue: Animated.Value<0>; longPressStateValue: Animated.Value<0>; tapStateValue: Animated.Value<0>; gestureStateValue: Animated.Value<0>; gestureOldStateValue: Animated.Value<0>; containerHeightValue: Animated.Value<0>; containerOffsetTopValue: Animated.Value<0>; containerLowerBoundValue: Animated.Value<0>; containerUpperBoundValue: Animated.Value<0>; contentTotalHeightValue: Animated.Value<0>; hiddenContentHeightValue: Animated.Value<0>; pointerY: Animated.Value<0>; pointerX: Animated.Value<0>; scrollTopValue: Animated.Value<0>; scrollTopLowerBoundValue: Animated.Value<0>; autoScrollTargetValue: Animated.Value<0>; hasAutoScrollStartedValue: Animated.Value<0>; hasScrollTopMatchedTargetValue: Animated.Value<0>; isAutoScrollDownValue: Animated.Value<0>; isAutoScrollUpValue: Animated.Value<0>; activeItemIndexValue: Animated.Value<-1>; activeHoverIndexValue: Animated.Value<-1>; activeItemArrayIndexValue: Animated.Value<-1>; activeHoverArrayIndexValue: Animated.Value<-1>; lastItemIndexValue: Animated.Value<0>; touchOutOfBoundsValue: Animated.Value<0>; touchOutOfBoundsTopValue: Animated.Value<0>; touchOutOfBoundsBottomValue: Animated.Value<0>; activeHoverOutOfBoundsValue: Animated.Value<0>; activeHoverZoneValue: Animated.Value<-1>; itemHeightValues: (Animated.Value<0> | Animated.Value<1>)[]; componentDidUpdate(prevProps: Props): void; getReorderedData: () => MappedItemType[]; handleFlatListLayout: ({ nativeEvent }: { nativeEvent: any; }) => Promise; calculateActiveItem: (initialY: number, scrollTop: number, containerOffsetTop: number) => any; handleTapStateChange: (params: number[]) => void; onTapStateChange: (...args: any[]) => void; handleLongPressActive: (params: number[]) => void; handleLongPressCancelled: () => void; onLongPress: (...args: any[]) => void; setScrollLowerBound: (contentWidth: any, contentHeight: any) => void; autoScrollComplete: (params: number[]) => void; callAutoScrollComplete: Animated.Node<0>; onScroll: (...args: any[]) => void; scrollToAsync: (scrollTarget: any) => Promise; autoScroll: (params: number[]) => Promise; trackHover: (params: number[]) => void; updateAllItemY: (updatedDataList: any) => void; callAutoScroll: Animated.Node<0>; handleSave: (params: number[]) => void; onGestureEvent: (...args: any[]) => void; runTiming: (clock: any, startingPosition: any, dest: any, idValue: any, arrayIndex: any, activeItemFinalTarget: any) => Animated.Node; getItemTranslateY: (draggableId: number, arrayIndex: number, itemTranslateY: Animated.Value) => Animated.Node; draggableRenderItem: (renderProps: any) => JSX.Element; render(): JSX.Element; } export {};