'use client'; // eslint-disable-next-line @react-native/no-deep-imports import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; import type { ViewProps, ColorValue } from 'react-native'; import type { DirectEventHandler, WithDefault, Int32, Float, Double, } from 'react-native/Libraries/Types/CodegenTypes'; // eslint-disable-next-line @typescript-eslint/ban-types type ScreenEvent = Readonly<{}>; type ScreenDismissedEvent = Readonly<{ dismissCount: Int32; }>; type TransitionProgressEvent = Readonly<{ progress: Double; closing: Int32; goingForward: Int32; }>; type HeaderHeightChangeEvent = Readonly<{ headerHeight: Double; }>; type SheetDetentChangedEvent = Readonly<{ index: Int32; isStable: boolean; }>; type GestureResponseDistanceType = Readonly<{ start: Float; end: Float; top: Float; bottom: Float; }>; type StackPresentation = | 'push' | 'modal' | 'transparentModal' | 'fullScreenModal' | 'formSheet' | 'pageSheet' | 'containedModal' | 'containedTransparentModal'; type StackAnimation = | 'default' | 'flip' | 'simple_push' | 'none' | 'fade' | 'slide_from_right' | 'slide_from_left' | 'slide_from_bottom' | 'fade_from_bottom' | 'ios_from_right' | 'ios_from_left'; type SwipeDirection = 'vertical' | 'horizontal'; type ReplaceAnimation = 'pop' | 'push'; export interface NativeProps extends ViewProps { onAppear?: DirectEventHandler; onDisappear?: DirectEventHandler; onDismissed?: DirectEventHandler; onNativeDismissCancelled?: DirectEventHandler; onWillAppear?: DirectEventHandler; onWillDisappear?: DirectEventHandler; onHeaderHeightChange?: DirectEventHandler; onTransitionProgress?: DirectEventHandler; onGestureCancel?: DirectEventHandler; onHeaderBackButtonClicked?: DirectEventHandler; onSheetDetentChanged?: DirectEventHandler; screenId?: WithDefault; sheetAllowedDetents?: number[]; sheetLargestUndimmedDetent?: WithDefault; sheetGrabberVisible?: WithDefault; sheetCornerRadius?: WithDefault; sheetExpandsWhenScrolledToEdge?: WithDefault; sheetInitialDetent?: WithDefault; sheetElevation?: WithDefault; customAnimationOnSwipe?: boolean; fullScreenSwipeEnabled?: boolean; fullScreenSwipeShadowEnabled?: WithDefault; homeIndicatorHidden?: boolean; preventNativeDismiss?: boolean; gestureEnabled?: WithDefault; statusBarColor?: ColorValue; statusBarHidden?: boolean; screenOrientation?: string; statusBarAnimation?: string; statusBarStyle?: string; statusBarTranslucent?: boolean; gestureResponseDistance?: GestureResponseDistanceType; stackPresentation?: WithDefault; stackAnimation?: WithDefault; transitionDuration?: WithDefault; replaceAnimation?: WithDefault; swipeDirection?: WithDefault; hideKeyboardOnSwipe?: boolean; activityState?: WithDefault; navigationBarColor?: ColorValue; navigationBarTranslucent?: boolean; navigationBarHidden?: boolean; nativeBackButtonDismissalEnabled?: boolean; } export default codegenNativeComponent('RNSScreen', { interfaceOnly: true, });