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 } 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; onChangePosition?: (storyIndex: number, userIndex?: number) => void | undefined; transitionMode?: TransitionMode; storyDataLoaded?: boolean; setStories: any; setComments?: any; viewStoryFuction?: any; textStyle?: any; } 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; gestureHandler?: (e: GestureHandlerEvent) => void; storyDataLoaded?: boolean; setStories: any; } 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; onScrollBeginDrag: () => void; onScrollEndDrag: () => void; handleLongPress: (visibility: boolean) => void; isKeyboardVisible: boolean; } export declare type ScrollValue = SharedValue;