@kya-os/cli
Version:
CLI for MCP-I setup and management
78 lines • 1.99 kB
TypeScript
/**
* 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