import type { SimpleFrame } from '../frame/simple-frame';
import { ComplexFrame } from '../frame/complex-frame';
import type { RgbTuple } from '../../types';
/**
 * @category Animation
 */
export type WaveOptions = {
    fillWith?: RgbTuple;
    lagMs: number;
    ledCount: number;
};
/**
 * @summary Build wave effect
 *
 * @remarks Build wave effect by time-line stitching – this guarantees the overall
 * duration is exactly:
 *    animationDuration + lagMs × (ledCount - 1)
 * and avoids the subtle frame-cutting rules of
 * `convertSimpleFramesToComplexFrame`.
 * @experimental
 * @category Animation
 */
export declare function wave(animation: Iterable<SimpleFrame>, { fillWith, ledCount, lagMs }: WaveOptions): Iterable<ComplexFrame>;
//# sourceMappingURL=wave.d.ts.map