import type { CustomDirective, StxOptions } from './types';
/**
 * Create an animation timeline for coordinated animations
 */
export declare function createAnimationTimeline(entries: TimelineEntry[]): string;
/**
 * Generate CSS for a custom animation
 */
export declare function generateAnimationCSS(name: string, keyframes: Keyframe[], options: KeyframeAnimationOptions): string;
/**
 * Parse animation shorthand string
 * Format: "duration [delay] [easing] [iterations] [direction] [fill]"
 */
export declare function parseAnimationShorthand(shorthand: string): KeyframeAnimationOptions;
/**
 * Generate client-side animation runtime
 */
export declare function generateAnimationRuntime(): string;
/**
 * Register animation directives
 */
export declare function registerAnimationDirectives(options: StxOptions): StxOptions;
/**
 * Default transition options
 */
export declare const DEFAULT_TRANSITION_OPTIONS: {
  duration: number
  delay: number
  ease: string
  direction: string
};
/**
 * @stagger directive for staggered child animations
 */
export declare const staggerDirective: CustomDirective;
/**
 * @spring directive for spring physics animations
 */
export declare const springDirective: CustomDirective;
/**
 * Available transition types that can be used with @transition directive
 */
export declare enum TransitionType {
  Fade = 'fade',
  Slide = 'slide',
  Scale = 'scale',
  Flip = 'flip',
  Rotate = 'rotate',
  Custom = 'custom',
}
/**
 * Available transition directions that can be used with @transition directive
 */
export declare enum TransitionDirection {
  In = 'in',
  Out = 'out',
  Both = 'both',
}
/**
 * Available ease functions for transitions
 */
export declare enum TransitionEase {
  Linear = 'linear',
  Ease = 'ease',
  EaseIn = 'ease-in',
  EaseOut = 'ease-out',
  EaseInOut = 'ease-in-out',
  Spring = 'spring',
}
