export declare const isIOSWebKit: () => boolean; export declare const iosMomentumOverridesWrites: () => boolean; export declare const _resetIOSDetectionForTests: () => void; type IosTouch = { phase: 'down'; moved: boolean; } | { phase: 'tail'; moved: boolean; awaitingFling: boolean; timerId: number; } | { phase: 'lateFling'; until: number; } | null; type TimerWindow = Pick; export declare class IosGesture { private readonly host; private _touch; constructor(host: { getWindow: () => TimerWindow | null; now: () => number; tailStillMoving: () => boolean; onTailClosed: () => void; }); get touch(): IosTouch; inMotion: () => boolean; dragging: () => boolean; tail: () => "tap" | "fling" | null; onScroll: ({ isScrolling, ownReadBack, moved, external, }: { isScrolling: boolean; ownReadBack: boolean; moved: boolean; external: boolean; }) => boolean; touchStart: () => void; touchEnd: () => void; end: () => void; listen: (target: EventTarget) => () => void; private _openTail; } export {};