/// import type { ViewToken } from 'react-native'; import type { SharedValue } from 'react-native-reanimated'; import type { GestureHandlerEvent } from 'react-native-reanimated/lib/typescript/reanimated2/hook'; import type { StoriesType, StoryContainerProps, StoryType } from '../StoryView/types'; export declare enum TransitionMode { Default = 0, Cube = 1, Scale = 2 } export interface MultiStoryContainerProps extends Omit { stories: StoriesType[]; onComplete?: () => void; onUserStoryIndexChange?: (index: number) => void; userStoryIndex?: number; visible?: boolean; viewedStories: Array; pointers?: { pageX: number; pageY: number; }; onChangePosition?: (storyIndex: number, userIndex?: number) => void | undefined; transitionMode?: TransitionMode; } export interface MultiStoryListItemProps extends Omit { item: StoriesType; index: number; storyIndex: number; viewedStories: Array; nextStory?: () => void; previousStory?: () => void; onComplete?: () => void; transitionMode?: TransitionMode; scrollX: ScrollValue; isTransitionActive: boolean; flatListRef: any; storyLength: number; gestureHandler?: (e: GestureHandlerEvent) => void; isInitialStory?: boolean; renderOverlayView?: (item: StoryType) => JSX.Element; overlayViewPostion?: 'top' | 'bottom' | 'middle'; } export interface ViewConfig { viewableItems: Array; changed: Array; } export interface ListItemProps { item: StoriesType; index: number; } export interface ListItemRef { onScrollBegin: () => void; onScrollEnd: () => void; handleLongPress: (visibility: boolean) => void; } export interface DraggableGestureProps { backgroundColor?: string; onComplete?: () => void; handleLongPress: (visibility: boolean) => void; isKeyboardVisible: boolean; isScrollActive: boolean; pointers?: PointerType; } export declare type ViewableItemsRef = { index: number | null; length: number; } | null; export declare type ScrollValue = SharedValue; export declare type PointerType = { pageX: number; pageY: number; };