@kya-os/cli
Version:
CLI for MCP-I setup and management
115 lines • 3.11 kB
TypeScript
/**
* Decrypt Effect
* Movie-style text decryption effect with typing animation
*/
import { BaseEffect } from "../types.js";
/**
* Configuration options for the Decrypt effect
*/
export interface DecryptEffectOptions {
/** Duration in milliseconds */
duration?: number;
/** Number of characters typed per keystroke */
typingSpeed?: number;
/** Colors for the ciphertext (randomly selected per character) */
ciphertextColors?: string[];
/** Final color for decrypted text */
finalColor?: string;
/** Use gradient for final color */
useGradient?: boolean;
/** Gradient direction (vertical or horizontal) */
gradientDirection?: "vertical" | "horizontal";
/** Typing probability per frame (0-1) */
typingProbability?: number;
/** Fast reveal mode - complete animation in first portion of duration */
fastReveal?: boolean;
/** Percentage of duration to complete animation (0-1) when fastReveal is true */
revealCompletionRatio?: number;
}
/**
* Decrypt effect implementation
*/
export declare class DecryptEffect extends BaseEffect {
readonly name = "Decrypt";
readonly description = "Movie-style text decryption effect with typing animation";
private options;
private characterStates;
private animationFrameCount;
private totalFrames;
private typingQueue;
private activeTypingChars;
private decryptingChars;
private _isEffectComplete;
private readonly encryptedSymbols;
private readonly typingSymbols;
constructor(options?: DecryptEffectOptions);
/**
* Initialize the pool of encrypted symbols
*/
private initializeEncryptedSymbols;
/**
* Initialize the effect
*/
protected onInitialize(): void;
/**
* Calculate gradient colors based on dimensions
*/
private calculateGradientColors;
/**
* Render the next frame
*/
render(): Promise<string[]>;
/**
* Update animation state for all characters
*/
private updateAnimationState;
/**
* Update typing phase animation
*/
private updateTypingPhase;
/**
* Update decryption phase animation
*/
private updateDecryptionPhase;
/**
* Create visual representation of a character
*/
private createCharacterVisual;
/**
* Get a random ciphertext color
*/
private getRandomCiphertextColor;
/**
* Get a random encrypted symbol
*/
private getRandomEncryptedSymbol;
/**
* Check if the effect is complete
*/
private checkCompletion;
/**
* Shuffle array in place
*/
private shuffleArray;
/**
* 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=decrypt.d.ts.map