import type { ColorInput } from '../types';
import type { Frame } from './frame/frame';
/**
 * Bag of static methods for creating animations.
 * @category Animation
 */
export declare abstract class Animation {
    /**
     * This class is not meant to be instantiated.
     * @private
     */
    private constructor();
    /**
     * Shorthand for `repeat`
     * @param animation
     * @param repeatCount
     */
    static repeat(animation: FrameIterable, repeatCount: number): FrameIterable;
    /**
     * Shorthand for `repeat(pulse(color, overMs, steps), repeatCount)`
     */
    static pulse(color: ColorInput, overMs: number, steps?: number, repeatCount?: number): FrameIterable;
    /**
     * Shorthand for `morph(from, to, overMs, steps)`
     * @param from
     * @param to
     * @param overMs
     * @param steps
     */
    static morph(from: ColorInput, to: ColorInput, overMs: number, steps?: number): FrameIterable;
    /**
     * Shorthand for `morphMany(tuples, overMs, steps)`
     * @param tuples
     * @param overMs
     * @param steps
     */
    static morphMany(tuples: ColorInput[], overMs: number, steps?: number): Iterable<import(".").SimpleFrame>;
}
/**
 * @category Animations
 */
export type FrameIterable = Iterable<Frame> | AsyncIterable<Frame>;
//# sourceMappingURL=animation-description.d.ts.map