/** * Obtains responsive animation duration for the current device. * Returns 0 if the user prefers reduced motion, 60% on mobile. * @param baseDuration - Base duration in ms * @returns Adjusted duration for the current device */ export declare const getResponsiveDuration: (baseDuration: number) => number; /** * Obtains responsive stagger delay for the current device. * Returns 0 if the user prefers reduced motion, 50% on mobile. * @param baseDelay - Base delay in ms * @returns Adjusted delay for the current device */ export declare const getResponsiveStagger: (baseDelay: number) => number; /** Core timing constants (ms) */ export declare const TIMING: { readonly ENTER_DURATION: 200; readonly EXIT_DURATION: 180; readonly COLLAPSE_DURATION: 200; readonly FLIP_DURATION: 300; readonly ENTER_STAGGER: 15; readonly EXIT_STAGGER: 0; readonly COLLAPSE_DELAY: 30; readonly FLIP_DELAY_PERCENT: 0.25; readonly MIN_DELTA_PX: 1; }; /** Transform offsets (px/deg) */ export declare const TRANSFORMS: { readonly OFFSET_Y_ENTER: 8; readonly OFFSET_Y_EXIT: -8; readonly OFFSET_X: 16; readonly SCALE_ENTER: 0.85; readonly SCALE_EXIT: 0.85; readonly ROTATE_EXIT: 0; }; /** Visual effects */ export declare const EFFECTS: { readonly BLUR_ENTER: 4; readonly BLUR_EXIT: 2; }; /** Research-based easing curves (Material Design + CSS-Tricks + Josh W. Comeau) */ export declare const EASINGS: { readonly MATERIAL_DECELERATE: "cubic-bezier(0, 0, 0.2, 1)"; readonly MATERIAL_ACCELERATE: "cubic-bezier(0.4, 0, 1, 1)"; readonly MATERIAL_STANDARD: "cubic-bezier(0.4, 0, 0.2, 1)"; readonly EASE_REORDER: "cubic-bezier(0.215, 0.61, 0.355, 1)"; readonly EASE_OUT_CUBIC: "cubic-bezier(0.33, 1, 0.68, 1)"; readonly EASE_IN_CUBIC: "cubic-bezier(0.32, 0, 0.67, 0)"; readonly EASE_IN_OUT: "cubic-bezier(0.42, 0, 0.58, 1)"; readonly EASE_OUT_EXPO: "cubic-bezier(0.16, 1, 0.3, 1)"; readonly EASE_FLIP: "cubic-bezier(0.2, 0, 0.2, 1)"; readonly SPRING_GENTLE: "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.100, 1.078 30.1%, 1.049 32.5%, 0.994 37.3%, 0.981 40.2%, 0.974 43.4%, 0.975 50.2%, 0.997 62.5%, 1.001 74.7%, 1)"; readonly SPRING_SNAPPY: "linear(0, 0.006, 0.024 2%, 0.096 4.2%, 0.397 9.3%, 0.861 15.8%, 1.002 18.7%, 1.093 21.4%, 1.143 24%, 1.156, 1.149 28.3%, 1.115 31.5%, 1.022 40%, 0.988 47.1%, 0.984 55.1%, 0.998 72.3%, 1.001 85.4%, 1)"; }; /** Responsive animation configurations with accessibility */ export declare const RESPONSIVE_CONFIGS: { readonly tokenEnter: { readonly duration: number; readonly stagger: number; readonly easing: "cubic-bezier(0, 0, 0.2, 1)"; readonly blur: 4; readonly offsetY: 8; readonly scale: 0.85; }; readonly tokenExit: { readonly duration: number; readonly stagger: number; readonly easing: "cubic-bezier(0.4, 0, 1, 1)"; readonly blur: 2; readonly offsetY: -8; readonly scale: 0.85; }; readonly collapse: { readonly duration: number; readonly delay: 30; readonly easing: "cubic-bezier(0.4, 0, 0.2, 1)"; }; readonly flip: { readonly duration: number; readonly delayPercent: 0.25; readonly easing: "cubic-bezier(0.215, 0.61, 0.355, 1)"; }; }; /** Legacy defaults for backward compatibility */ export declare const ANIMATION_DEFAULTS: { DURATION_ENTER: 200; DURATION_EXIT: 180; DURATION_FLIP: 300; STAGGER_DELAY: 15; OFFSET_VERTICAL: 8; OFFSET_HORIZONTAL: 16; BLUR_AMOUNT: 4; EASING_ENTER: "cubic-bezier(0.33, 1, 0.68, 1)"; EASING_EXIT: "cubic-bezier(0.32, 0, 0.67, 0)"; EASING_FLIP: "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.100, 1.078 30.1%, 1.049 32.5%, 0.994 37.3%, 0.981 40.2%, 0.974 43.4%, 0.975 50.2%, 0.997 62.5%, 1.001 74.7%, 1)"; SPRING_EASING: "linear(0, 0.009, 0.035 2.1%, 0.141 4.4%, 0.723 12.9%, 0.938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.100, 1.078 30.1%, 1.049 32.5%, 0.994 37.3%, 0.981 40.2%, 0.974 43.4%, 0.975 50.2%, 0.997 62.5%, 1.001 74.7%, 1)"; }; /** Composite presets for specific use cases */ export declare const ANIMATION_CONFIGS: { readonly tokenEnter: { readonly duration: 200; readonly stagger: 15; readonly easing: "cubic-bezier(0, 0, 0.2, 1)"; readonly blur: 4; readonly offsetY: 8; readonly scale: 0.85; }; readonly tokenExit: { readonly duration: 180; readonly stagger: 0; readonly easing: "cubic-bezier(0.4, 0, 1, 1)"; readonly blur: 2; readonly offsetY: -8; readonly scale: 0.85; }; readonly collapse: { readonly duration: 200; readonly delay: 30; readonly easing: "cubic-bezier(0.4, 0, 0.2, 1)"; }; readonly flip: { readonly duration: 300; readonly delayPercent: 0.25; readonly easing: "cubic-bezier(0.215, 0.61, 0.355, 1)"; }; }; /** High-level animation presets */ export declare const PRESETS: { newToken: { mode: "character"; direction: "vertical"; staggerDelay: number; blur: boolean; widthAnimation: boolean; duration: number; initial: "initial"; }; existingToken: { mode: "none"; blur: boolean; widthAnimation: boolean; initial: false; }; placeholder: { mode: "word"; direction: "vertical"; blur: boolean; widthAnimation: boolean; duration: number; }; separator: { duration: number; widthAnimation: boolean; }; }; //# sourceMappingURL=animationConstants.d.ts.map