import { ReactNode } from 'react'; export interface PullToRefreshProps { /** Runs when the gesture completes past the threshold. */ onRefresh: () => Promise | void; children: ReactNode; /** Finger travel (px) required to arm the refresh. Default 72. */ threshold?: number; /** Hard-disable the gesture. */ disabled?: boolean; /** Enablement override; defaults to `isNative()`. Pass `true` for installed PWAs. */ enabled?: boolean; /** Accessible label for the indicator. Default "Refreshing". */ label?: string; className?: string; } /** * PullToRefresh — scroll container with the native pull-to-refresh gesture * (spec §5.7): only engages at `scrollTop === 0`, fires `impact('medium')` on * crossing the threshold and `notify('success')` once the refresh resolves. * * The wrapper OWNS the scrolling (`overflow-y:auto`), so give it a bounded * height (e.g. `className="h-full"` inside a flex column). * * DOM contract: `[data-pull-to-refresh]` on the scroller (its CSS sets * `overscroll-behavior-y: contain`), `[data-pull-to-refresh-indicator]` on the * indicator, `data-state="idle" | "pulling" | "armed" | "refreshing"`. */ export declare function PullToRefresh({ onRefresh, children, threshold, disabled, enabled, label, className, }: PullToRefreshProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=pull-to-refresh.d.ts.map