/** * Animation utilities for DuskMoon custom elements * * Provides reusable CSS keyframe animations and transition presets * that respect prefers-reduced-motion. */ /** * Duration presets matching the design token system */ export declare const durations: { readonly fast: "150ms"; readonly normal: "200ms"; readonly slow: "300ms"; readonly slower: "500ms"; }; export type AnimationDuration = keyof typeof durations; /** * Easing presets for consistent motion curves */ export declare const easings: { readonly ease: "ease"; readonly easeIn: "cubic-bezier(0.4, 0, 1, 1)"; readonly easeOut: "cubic-bezier(0, 0, 0.2, 1)"; readonly easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)"; readonly spring: "cubic-bezier(0.175, 0.885, 0.32, 1.275)"; }; export type AnimationEasing = keyof typeof easings; /** * Core animation keyframes stylesheet. * Attach this to elements that need entrance/exit animations. */ export declare const animationStyles: CSSStyleSheet; /** * Generate a CSS animation shorthand value * * @example * ```ts * const fadeIn = animation('dm-fade-in', 'normal', 'easeOut'); * // Returns: "dm-fade-in 200ms cubic-bezier(0, 0, 0.2, 1) both" * ``` */ export declare function animation(name: string, duration?: AnimationDuration, easing?: AnimationEasing, fillMode?: 'none' | 'forwards' | 'backwards' | 'both'): string; /** * Generate a CSS transition shorthand for common properties * * @example * ```ts * const hoverTransition = transition(['opacity', 'transform'], 'fast'); * // Returns: "opacity 150ms ease, transform 150ms ease" * ``` */ export declare function transition(properties: string[], duration?: AnimationDuration, easing?: AnimationEasing): string; //# sourceMappingURL=animations.d.ts.map