/** * Animation Primitives for Visual Canon * * Three core animation patterns that embody the Subtractive Triad: * - reveal: Making the hidden visible (DRY - what was duplicated becomes unified) * - assemble: Parts becoming whole (Heidegger - hermeneutic circle) * - pulse: System vitality (Rams - functional, not decorative) * * "Animation should reveal truth, not decorate surface." */ /** * Easing functions aligned with design tokens */ export declare const easing: { readonly standard: "cubic-bezier(0.4, 0, 0.2, 1)"; readonly emphasized: "cubic-bezier(0.2, 0, 0, 1)"; readonly decelerate: "cubic-bezier(0, 0, 0.2, 1)"; readonly accelerate: "cubic-bezier(0.4, 0, 1, 1)"; readonly splineStandard: "0.4 0 0.2 1"; readonly splineEmphasized: "0.2 0 0 1"; }; /** * Duration scale (ms) - matches design tokens */ export declare const duration: { readonly micro: 200; readonly standard: 300; readonly complex: 500; readonly dramatic: 800; readonly sequence: 1200; }; /** * Generate SVG animate element for reveal animation * Parts fade in sequentially, revealing structure */ export declare function revealAnimation(index: number, total: number, opts?: { duration?: number; stagger?: number; property?: 'opacity' | 'stroke-dashoffset'; }): string; /** * Generate SVG animateTransform for assembly animation * Elements move into position, becoming the whole */ export declare function assembleAnimation(index: number, from: { x: number; y: number; }, to: { x: number; y: number; }, opts?: { duration?: number; stagger?: number; }): string; /** * Generate SVG animate for pulse animation * Subtle breathing effect indicating system vitality */ export declare function pulseAnimation(opts?: { duration?: number; min?: number; max?: number; }): string; /** * Generate CSS keyframes for reveal animation */ export declare function revealKeyframes(name: string): string; /** * Generate CSS keyframes for assemble animation */ export declare function assembleKeyframes(name: string, from: { x: number; y: number; }): string; /** * Generate CSS keyframes for pulse animation */ export declare function pulseKeyframes(name: string, min?: number, max?: number): string; /** * Stagger delay calculator for sequential animations */ export declare function staggerDelay(index: number, base?: number): string; /** * Create animation style object for Svelte */ export declare function animationStyle(name: string, duration: number, delay?: number, easing?: string): string;