import { Accessor } from 'solid-js'; import { ConfigurableWindow } from '../_configurable.js'; import { MaybeElementAccessor } from '@solidjs-use/shared'; interface UseParallaxOptions extends ConfigurableWindow { deviceOrientationTiltAdjust?: (i: number) => number; deviceOrientationRollAdjust?: (i: number) => number; mouseTiltAdjust?: (i: number) => number; mouseRollAdjust?: (i: number) => number; } interface UseParallaxReturn { /** * Roll value. Scaled to `-0.5 ~ 0.5` */ roll: Accessor; /** * Tilt value. Scaled to `-0.5 ~ 0.5` */ tilt: Accessor; /** * Sensor source, can be `mouse` or `deviceOrientation` */ source: Accessor<'deviceOrientation' | 'mouse'>; } /** * Create parallax effect easily. It uses `useDeviceOrientation` and fallback to `useMouse` * if orientation is not supported. * * @see https://solidjs-use.github.io/solidjs-use/core/useParallax */ declare function useParallax(target: MaybeElementAccessor, options?: UseParallaxOptions): UseParallaxReturn; export { UseParallaxOptions, UseParallaxReturn, useParallax };