/**
 * Waves Effect
 * Creates wave patterns that travel across the text
 */
import { BaseEffect } from "../types.js";
/**
 * Configuration options for the Waves effect
 */
export interface WavesEffectOptions {
    /** Duration in milliseconds */
    duration?: number;
    /** Wave colors */
    waveColors?: string[];
    /** Final text color */
    finalColor?: string;
    /** Wave speed (higher = faster) */
    waveSpeed?: number;
    /** Wave frequency (waves per screen width) */
    waveFrequency?: number;
    /** Wave amplitude (height in characters) */
    waveAmplitude?: number;
    /** Wave direction */
    direction?: "horizontal" | "vertical" | "diagonal";
    /** Use gradient for wave colors */
    useGradient?: boolean;
}
/**
 * Waves effect implementation
 */
export declare class WavesEffect extends BaseEffect {
    readonly name = "Waves";
    readonly description = "Creates wave patterns that travel across the text";
    private options;
    private characterStates;
    private animationFrameCount;
    private totalFrames;
    private wavePosition;
    private _isEffectComplete;
    private gradient?;
    constructor(options?: WavesEffectOptions);
    /**
     * Initialize the effect
     */
    protected onInitialize(): void;
    /**
     * Render the next frame
     */
    render(): Promise<string[]>;
    /**
     * Update animation state for all characters
     */
    private updateAnimationState;
    /**
     * Create visual representation of a character
     */
    private createCharacterVisual;
    /**
     * Get ANSI color code for a color
     */
    private getColorCode;
    /**
     * Interpolate between two colors
     */
    private interpolateColor;
    /**
     * Render fallback for when effects are disabled
     */
    renderFallback(): string[];
    /**
     * Check if effect is complete
     */
    isComplete(): boolean;
    /**
     * Reset the effect
     */
    protected onReset(): void;
}
//# sourceMappingURL=waves.d.ts.map