import { MotionValue } from 'framer-motion'; import { RefObject } from 'react'; import { AnimationStore, GeometryRenderer, GeometryStore } from './Geometry'; import { Rect } from './hooks/usePosition'; import { ViewProps } from './View/types'; declare class ParallaxStore { bounds: Rect; update(next: Partial): void; } export declare const useParallaxContainer: (options?: import("@o/use-store").UseStoreOptions) => ParallaxStore; export declare type ParallaxContainerProps = ViewProps; export declare function ParallaxContainer(props: ParallaxContainerProps): JSX.Element; declare type ParallaxMeasurements = { nodeMeasurements: { width: number; height: number; top: number; left: number; }; nodeSize: number; parentSize: number; frameSizePct: number; parentEndPct: number; parentStartPct: number; parentSizePct: number; nodeEndPct: number; nodeStartPct: number; nodeSizePct: number; }; export declare type ParallaxItemProps = { offset?: number; speed?: number; clamp?: boolean | [number, number]; min?: number; max?: number; align?: 'end' | 'start' | 'center'; relativeTo?: 'node' | 'parent' | 'frame'; stagger?: number; }; declare type ParallaxProps = ParallaxItemProps & { direction?: 'x' | 'y'; }; declare type ParallaxGeometryProps = ParallaxProps & { sizeKey: string; version: MotionValue; parent: ParallaxStore; measurements: RefObject; }; declare class ParallaxGeometryStore extends GeometryStore { useParallaxIntersection(props?: ParallaxItemProps): AnimationStore; transforms: { scrollParentRelative: (x: number) => number; scrollParentSize: (x: number) => number; scrollNodeSize: (x: number) => number; }; useParallax(props?: ParallaxItemProps): AnimationStore; } export declare function ParallaxGeometry({ children, ...parallaxProps }: { children: GeometryRenderer; } & ParallaxGeometryProps): JSX.Element; export declare type ParallaxViewProps = Omit & ParallaxProps & { parallax?: (geometry: ParallaxGeometryStore) => { [key: string]: AnimationStore; }; }; export declare function ParallaxView(props: ParallaxViewProps): JSX.Element; export {}; //# sourceMappingURL=Parallax.d.ts.map