import { type LayoutChangeEvent } from "react-native"; /** * Give a scrollport a keyboard stop only while its content overflows. The sizes * live in a ref and only the overflow is state, so a scrollport re-renders when * its content starts or stops overflowing, never on every resize. */ export declare function useScrollFocus(axis: "horizontal" | "vertical"): { focusable: boolean; tabIndex: 0 | -1; onLayout: (event: LayoutChangeEvent) => void; onContentSizeChange: (width: number, height: number) => void; }; /** * A horizontal scrollport's keyboard stop, and whether it takes a drag at all. * Android's HorizontalScrollView claims any sideways drag past touch slop even when * its content fits (the vertical ScrollView declines a drag it cannot scroll, the * horizontal one has no such check, and React Native's wrapper skips the claim only * while scrolling is disabled), so a fitting scroller would cancel a press that * drifts sideways and keep the page from scrolling for the rest of that gesture. * On Android it therefore scrolls only while its content overflows, unless TalkBack * explores the screen by touch: React Native's disabled horizontal scroller also * drops every hover event before its children see one, and touch exploration is * made of hover events, so a disabled scroller would hide its tabs, cells and cards * from a finger exploring them. An exploring finger drags without pressing anything, * so the scroller stays enabled then. Every other platform keeps a fitting scroller * enabled, as before: react-native-web's disabled scroller sets `touch-action: none`, * and a finger on it could no longer scroll the page. */ export declare function useHorizontalScrollFocus(): { scrollEnabled: boolean; focusable: boolean; tabIndex: 0 | -1; onLayout: (event: LayoutChangeEvent) => void; onContentSizeChange: (width: number, height: number) => void; }; //# sourceMappingURL=use-scroll-focus.d.ts.map