import { type EasingFunction } from "react-native"; /** * Whether React Native's native animated driver exists, so `useNativeDriver: true` runs an * animation off the JS thread: true on iOS and Android, false on the web, where a true * flag freezes a loop after one pass. Gate every driver flag on it. */ export declare const supportsNativeDriver: boolean; /** Shape one loop iteration as an out-and-back: `easing` carries the value from 0 to 1 * over the first half of the cycle and back down over the second, so a pulse, a breath * or a shimmer is a single `Animated.timing` from 0 to 1 that ends where it began. The * returned function is 0 at both ends, which is what lets `Animated.loop` restart it * without a visible seam on either driver (the native frame driver restarts from its * first frame; the JS driver resets to the constructor value). Mirrors the second half * exactly, so `Easing.inOut(...)` in gives the same symmetric curve a two-step * `Animated.sequence` produced. */ export declare function thereAndBack(easing: EasingFunction): EasingFunction; /** Shape one loop iteration from keyframes: `points` are `[t, value]` pairs with t rising * from 0 to 1, joined by straight lines, so a blink (visible, a quick fade out, hidden, a * quick fade in) is a single `Animated.timing` whose easing IS the schedule. Give the last * point the first point's value for a seam-free loop. */ export declare function keyframes(points: ReadonlyArray): EasingFunction; export declare const HOVER: { /** A pressable card: the rise and the shade change run together. */ readonly card: { readonly distance: 2; readonly duration: 180; }; /** A primary button. */ readonly button: { readonly distance: 1; readonly duration: 150; }; /** A nav row's hover wash; nothing moves. */ readonly wash: { readonly distance: 0; readonly duration: 150; }; }; /** CSS `ease`, the curve of every hover transition, spelled out as the reference's own. */ export declare const HOVER_EASING = "cubic-bezier(0.25, 0.1, 0.25, 1)"; export declare const FLOAT: { /** The label's move between its resting and floated places. */ readonly position: { readonly duration: 150; }; /** The label's tint between the resting ink and the focus or error ink. */ readonly tint: { readonly duration: 150; }; }; /** The curve of both float timings: Animated.timing's default, spelled out. */ export declare const FLOAT_EASING: EasingFunction; /** * Whether the OS Reduce Motion setting is on. False until the first read resolves, then * follows live changes. */ export declare function useReducedMotion(): boolean; /** * Turn on React Native's LayoutAnimation where it needs turning on, the old architecture * on Android, and do nothing elsewhere (the New Architecture enables it, and its flag only * logs a warning there). Called once at module scope by Accordion and Collapsible. */ export declare function enableAndroidLayoutAnimations(): void; //# sourceMappingURL=motion.d.ts.map