import React, { PropsWithChildren } from 'react'; /** * Design tokens */ import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/animation/base.css'; export declare const AnimationVariants: readonly ["fade-in", "fade-out", "slide-in-up", "slide-in-down", "slide-in-left", "slide-in-right", "scale-in-up", "scale-in-down", "scale-in", "fill-in-top", "scale-in-right", "scale-in-left", "fill-in-right", "reveal-in-up"]; type Variant = (typeof AnimationVariants)[number]; type VariantAdvanced = { variant: Variant; delay?: number; duration?: number; ease?: string; }; export type AnimateProps = Variant | VariantAdvanced; type AnimationTrigger = 'click' | 'on-visible' | 'immediate'; type IntersectionVisibilityeOptions = 'bottom-of-screen' | 'middle-of-screen' | 'about-to-leave' | number; type AnimationProviderProps = { /** * Prevents animations from running inside the provider */ disableAnimations?: boolean; /** * Controls the trigger method for the animation. One of `click`, `on-visible`, or `immediate`. */ animationTrigger?: AnimationTrigger; /** * Controls the intersection observer options for the animation. * One of `bottom-of-screen`, `middle-of-screen`, `about-to-leave`, or a number between 0 and 1. */ visibilityOptions?: IntersectionVisibilityeOptions; /** * Will persist the animation end-state after the animation has completed */ runOnce?: boolean; /** * Will stagger the animations of the children using an incrementing delay */ autoStaggerChildren?: boolean; /** * Stagger delay increment. Should be used alongside `autoStaggerChildren`. */ staggerDelayIncrement?: number; }; export declare const AnimationContext: React.Context; export declare function AnimationProvider({ children, disableAnimations, animationTrigger, visibilityOptions, runOnce, autoStaggerChildren, staggerDelayIncrement, }: PropsWithChildren): import("react/jsx-runtime").JSX.Element; export {};