import { type BottomSheetBackgroundProps } from '@gorhom/bottom-sheet'; import { type ReactNode } from 'react'; /** * Material laid under a translucent flow surface. The package ships its own * (see SheetMaterial); a host replaces it through `FunkitProvider`. Rendered * into a full-bleed container, so `StyleSheet.absoluteFill` fills the screen. * The material carries its own tint; a glass one (see `liquidGlass`) has the * surface paint no fill over it, which would mute the refraction to a panel. */ export type BackdropBlurRenderer = () => ReactNode; export interface FlowSheetProps { isOpen: boolean; /** * Per-`beginDeposit` id. A change while open re-presents the sheet, which * cancels an in-flight dismiss — so opening a new session mid-swipe-dismiss * isn't closed by the previous session's late `onDismiss`. */ session: number; onClose: () => void; /** The flow screens rendered inside the sheet. */ content: ReactNode; /** The host app subtree the sheet is presented above. */ children: ReactNode; /** * Lift the sheet above the keyboard. Scoped to the screen that needs it (the * Swapped embed's WebView): a generic flow screen with no inputs shouldn't * subscribe to keyboard events, and a future `BottomSheetTextInput` screen * would be handled by gorhom natively instead. See {@link useKeyboardHeight}. */ keyboardAvoidEnabled?: boolean; enableSwipeToDismiss?: boolean; /** * Hold the sheet still: no swipe-to-dismiss, no rubber-band drag, no * backdrop tap. For a step whose own screens the user is part-way through * (see {@link useLockFlowDismiss}); their back controls are the way off. */ dismissLocked?: boolean; /** Let the sheet reach the top of the screen for a screen that is a full window tall. */ fullHeight?: boolean; /** * Draw the sheet as bare material rather than a panel — the V2 deposit * surface, which the design lays over the host app. See * {@link GlassSheetBackground}. */ glass?: boolean; } export declare function FlowSheet({ isOpen, session, onClose, content, children, keyboardAvoidEnabled, enableSwipeToDismiss, dismissLocked, fullHeight, glass, }: FlowSheetProps): import("react").JSX.Element; /** * Sheet surface for the flow modal. gorhom sizes the sheet body to its content, * so a flat background fills only the content area; over-dragging the sheet * above its content height lifts the body off the bottom and would otherwise * expose the backdrop below it (ENG-4340: "you can see how the drawer ends"). * * We paint the `bgModal` surface (matching each screen's own surface + rounded * top) and hang a tall extension off the content's bottom edge. Anchored at * `top: '100%'`, the extension tracks the body as it lifts, so the rubber-band * over-drag reveals more surface instead of empty space — the bounce is kept. */ export declare function FlowSheetBackground(props: BottomSheetBackgroundProps): import("react").JSX.Element; /** * {@link FlowSheetBackground} for the amount-first deposit surface: only the * material, with no fill, shadow, or stroke of the sheet's own. Its corners * are the material's, concentric with the device's. */ export declare function GlassSheetBackground({ pointerEvents, style, }: BottomSheetBackgroundProps): import("react").JSX.Element; /** * {@link FlowSheetBackground} for a screen stacked over another sheet — the * country list (2531:8471). Glass rather than a panel, so the step it was * raised from still reads faintly underneath it. */ export declare function StackedSheetBackground(props: BottomSheetBackgroundProps): import("react").JSX.Element; //# sourceMappingURL=FlowSheet.d.ts.map