import type { MaterialTopTabNavigationOptions } from '@react-navigation/material-top-tabs'; import type { ReactNode, RefObject } from 'react'; import type { FlatList, StyleProp, ViewProps, ViewStyle } from 'react-native'; import type Animated from 'react-native-reanimated'; export interface StickyHeaderProps { style: StyleProp; name: string; children: ReactNode; } export interface HeaderProps { style: StyleProp; name: string; photo: number; description: string; children: ReactNode; } export interface TabBarProps { onIndexChange: (index: number) => void; } export interface ScrollPair { list: RefObject; position: Animated.SharedValue; } export interface HeaderConfig { heightExpanded: number; heightCollapsed: number; } export interface ActiveTabIndex { tabIndex: number; } export interface ParallaxHeaderWithTabProps { renderHeader: () => React.ReactElement; renderStickyHeader: () => React.ReactElement; tabs: { title: string; data: any[]; renderTabContent: ({ item }: any) => React.ReactElement; tabOptions?: MaterialTopTabNavigationOptions; renderFlatListProps?: any; }[]; backBehavior: 'firstRoute' | 'initialRoute' | 'order' | 'history' | 'none'; tabBarPosition: 'top' | 'bottom'; initialRouteName: string; onTabChange: ({ tabIndex }: ActiveTabIndex) => void; screenOptions: MaterialTopTabNavigationOptions; } export interface RenderDefaultProps { item: { name: string; photo: string; }; } export declare type DefaultItemProps = Pick & { items: { name: string; photo: string; }; }; export interface AnimatedFlatListProps { data: any[]; renderTabContent: ({ item }: any) => React.ReactElement; } export interface ParallaxHeaderProps { renderHeader: () => React.ReactElement; renderStickyHeader: () => React.ReactElement; stickyHeaderTitle: string; children: ReactNode; } export interface RenderCardsProps { index: number; value: { id: number; name: string; photo: string; image: number; description: string; }; }