import { Animated } from 'react-native'; /** * The on-screen keyboard height (0 when hidden), tracked from the global * keyboard events. Pass `enabled` to scope it to the screen that needs it: when * `false`, no listeners are registered and it always reports 0. * * This is the ONLY thing that lifts the flow sheet, for native inputs and the * Swapped WebView alike: gorhom's own avoidance runs `keyboardBehavior="extend"` * under `enableDynamicSizing`, where the max snap point is already the content * height — a no-op, verified on device even with a `BottomSheetTextInput`. * * iOS emits the `Will` events (ahead of the keyboard animation, so the sheet * lifts in sync); Android only reliably emits the `Did` events. */ export declare function useKeyboardHeight(enabled: boolean): number; export interface KeyboardFollow { /** Where the keyboard is heading, the moment the event says so. */ height: number; /** * The same height gliding there on the keyboard's own clock. For a footer * that rides the keyboard: iOS posts a fresh `WillShow` each time its * suggestion strip appears or goes, and a footer that snaps to each new * height while the keyboard itself glides is the jolt that reads as broken. */ animated: Animated.Value; } /** * {@link useKeyboardHeight}, plus an `Animated.Value` that follows it on the * keyboard's curve. Plain `Animated`, not Reanimated: the screens that ride * the keyboard already drive their frames with it, and React Native's * `LayoutAnimation` — the other way to glide a layout — is not safe beside * Reanimated's entering and exiting transitions. */ export declare function useKeyboardFollow(enabled: boolean): KeyboardFollow; //# sourceMappingURL=useKeyboardHeight.d.ts.map