/// import { Animated, StyleProp, TextStyle, ViewStyle } from 'react-native'; import { SafeAreaView } from '@react-navigation/native'; export declare type Route = { key: string; routeName: string; }; export declare type Scene = { key: string; index: number; isStale: boolean; isActive: boolean; route: Route; descriptor: SceneDescriptor; }; export declare type NavigationEventName = 'willFocus' | 'didFocus' | 'willBlur' | 'didBlur'; export declare type NavigationState = { key: string; index: number; routes: Route[]; isTransitioning?: boolean; params?: { [key: string]: unknown; }; }; export declare type NavigationProp = { navigate(routeName: RouteName): void; goBack(): void; goBack(key: string | null): void; addListener: (event: NavigationEventName, callback: () => void) => { remove: () => void; }; isFocused(): boolean; state: NavigationState; setParams(params: Params): void; getParam(): Params; dispatch(action: { type: string; }): void; dangerouslyGetParent(): NavigationProp | undefined; }; export declare type HeaderMode = 'float' | 'screen'; export declare type HeaderLayoutPreset = 'left' | 'center'; export declare type HeaderTransitionPreset = 'fade-in-place' | 'uikit'; export declare type HeaderBackgroundTransitionPreset = 'translate' | 'fade'; export declare type HeaderProps = { mode: HeaderMode; position: Animated.Value; navigation: NavigationProp; layout: TransitionerLayout; scene: Scene; scenes: Scene[]; layoutPreset: HeaderLayoutPreset; transitionPreset?: HeaderTransitionPreset; backTitleVisible?: boolean; leftInterpolator: (props: SceneInterpolatorProps) => any; titleInterpolator: (props: SceneInterpolatorProps) => any; rightInterpolator: (props: SceneInterpolatorProps) => any; backgroundInterpolator: (props: SceneInterpolatorProps) => any; layoutInterpolator?: (props: SceneInterpolatorProps) => any; isLandscape: boolean; }; export declare type HeaderTransitionConfig = { headerLeftInterpolator: SceneInterpolator; headerLeftLabelInterpolator: SceneInterpolator; headerLeftButtonInterpolator: SceneInterpolator; headerTitleFromLeftInterpolator: SceneInterpolator; headerTitleInterpolator: SceneInterpolator; headerRightInterpolator: SceneInterpolator; headerBackgroundInterpolator: SceneInterpolator; headerLayoutInterpolator: SceneInterpolator; }; export declare type NavigationStackOptions = { title?: string; header?: (props: HeaderProps) => React.ReactNode; headerTitle?: string; headerTitleStyle?: StyleProp; headerTitleContainerStyle?: StyleProp; headerTintColor?: string; headerTitleAllowFontScaling?: boolean; headerBackAllowFontScaling?: boolean; headerBackTitle?: string; headerBackTitleStyle?: StyleProp; headerTruncatedBackTitle?: string; headerLeft?: React.FunctionComponent; headerLeftContainerStyle?: StyleProp; headerRight?: (() => React.ReactNode) | React.ReactNode; headerRightContainerStyle?: StyleProp; headerBackImage?: React.FunctionComponent<{ tintColor: string; title?: string | null; }>; headerPressColorAndroid?: string; headerBackground?: string; headerTransparent?: boolean; headerStyle?: StyleProp; headerForceInset?: React.ComponentProps['forceInset']; gesturesEnabled?: boolean; gestureDirection?: 'inverted' | 'normal'; gestureResponseDistance?: { vertical: number; horizontal: number; }; disableKeyboardHandling?: boolean; }; export declare type NavigationConfig = { mode: 'card' | 'modal'; headerMode: HeaderMode; headerLayoutPreset: HeaderLayoutPreset; headerTransitionPreset: HeaderTransitionPreset; headerBackgroundTransitionPreset: HeaderBackgroundTransitionPreset; headerBackTitleVisible?: boolean; cardShadowEnabled?: boolean; cardOverlayEnabled?: boolean; onTransitionStart?: () => void; onTransitionEnd?: () => void; transitionConfig: (transitionProps: TransitionProps, prevTransitionProps?: TransitionProps, isModal?: boolean) => HeaderTransitionConfig; }; export declare type SceneDescriptor = { key: string; options: NavigationStackOptions; navigation: NavigationProp; getComponent(): React.ComponentType; }; export declare type HeaderBackbuttonProps = { disabled?: boolean; onPress: () => void; pressColorAndroid?: string; tintColor: string; backImage?: NavigationStackOptions['headerBackImage']; title?: string | null; truncatedTitle?: string | null; backTitleVisible?: boolean; allowFontScaling?: boolean; titleStyle?: StyleProp; layoutPreset: HeaderLayoutPreset; width?: number; scene: Scene; }; export declare type SceneInterpolatorProps = { mode?: HeaderMode; layout: TransitionerLayout; scene: Scene; scenes: Scene[]; position: Animated.AnimatedInterpolation; navigation: NavigationProp; shadowEnabled?: boolean; cardOverlayEnabled?: boolean; }; export declare type SceneInterpolator = (props: SceneInterpolatorProps) => any; export declare type TransitionerLayout = { height: Animated.Value; width: Animated.Value; initHeight: number; initWidth: number; isMeasured: boolean; }; export declare type TransitionProps = { layout: TransitionerLayout; navigation: NavigationProp; position: Animated.Value; scenes: Scene[]; scene: Scene; index: number; }; export declare type TransitionConfig = { transitionSpec: { timing: Function; }; screenInterpolator: SceneInterpolator; containerStyle?: StyleProp; }; export declare type Screen = React.ComponentType & { navigationOptions?: NavigationStackOptions & { [key: string]: any; }; };