import { type AnimationOptions, type DOMKeyframesDefinition } from 'motion';
/**
 * Animation utilities for Svelte Motion.
 *
 * Provides helpers for composing transition objects and ensuring lifecycle
 * callbacks fire consistently regardless of the underlying Motion control type.
 */
/**
 * Merge Motion `AnimationOptions` objects without mutating the inputs.
 *
 * Later values override earlier ones. Use to combine root configuration from
 * `MotionConfig` with local `transition` props. Accepts a variadic list.
 *
 * @param args List of `AnimationOptions` to merge in left-to-right order.
 * @return A new merged `AnimationOptions` object.
 */
export declare const mergeTransitions: (...args: AnimationOptions[]) => AnimationOptions;
/**
 * Animate an element and invoke lifecycle callbacks around the main transition.
 *
 * Wraps `motion.animate` to ensure `onStart` and `onComplete` are called
 * whether the returned control exposes a `finished` promise or is then-able.
 *
 * @param el Target element.
 * @param keyframes Keyframes to animate to.
 * @param transition Animation timing/options.
 * @param onStart Optional lifecycle fired before animation starts.
 * @param onComplete Optional lifecycle fired after animation completes.
 */
export declare const animateWithLifecycle: (el: HTMLElement, keyframes: DOMKeyframesDefinition, transition: AnimationOptions, onStart?: (def: unknown) => void, onComplete?: (def: unknown) => void) => void;
