/** * Glitch-only text scramble effect for terminal TUI. * * Line behavior: * aim: — content stays still, no animation ever * act: — glitch on text change * msg: — glitch on text change * tps: — flash on value change */ export interface AnimationConfig { enabled: boolean; glitch: boolean; } export declare function setLiveText(key: string, text: string): void; export declare function getLiveText(key: string): string | undefined; export declare function clearLiveText(key: string): void; export declare class FastRNG { private s; constructor(seed: number); next(): number; nextInt(max: number): number; } export declare const DEEP_GLITCH = "\u2715\u25CB\u2610+\u2715\u25C7\u2801\u2802\u2803\u2804\u2805\u2806\u2807\u2808\u2809\u280A\u280B\u280C\u280D\u280E\u280F\u00B7\u2811\u2812\u2813"; /** Mid glitch: dots, light sparkles, medium braille for depth (3) */ export declare const MID_GLITCH = "\u2715\u25CB\u2610+\u2715\u25C7\u2801\u2802\u2803\u2804\u2805\u2806\u2807\u2808\u2809\u280A\u280B"; /** Shallow glitch: heavy sparkles + light braille for outer depths (4+) — the wavefront crest */ export declare const SHALLOW_GLITCH = "\u2715\u25CB\u2610+\u2715\u25C7\u280C\u2821\u281C"; /** Classic scramble set for fallback — balanced braille + sparkle mix */ export declare const SCRAMBLE_CHARS = "\u2715\u25CB\u2610+\u2715\u25C7\u280C\u2821\u281C\u2823\u282A\u2839\u2838\u2837\u282E"; /** Backward-compat alias */ export declare const THIN_BRAILLE_SPARK = "\u25B3\u25CB\u2610\u2802\u2804\u2808\u00B7\u2820\u2840\u2219\u2803\u2806\u2809\u2818\u2830\u2841\u2882"; export declare const DECORATIVE_ICON_RE: RegExp; export declare const DIM_ON = "\u001B[2m"; export declare const DIM_OFF = "\u001B[22m"; export declare const MIN_GLITCH_INTERVAL = 300; export declare const GLITCH_RERANDOMIZE = 0.12; export declare const GLITCH_FRAME_MS = 11; export declare const GLITCH_MAX_START = 40; export declare const GLITCH_MAX_LENGTH = 40; export declare const GLITCH_SHORT_MAX_START = 10; export declare const GLITCH_SHORT_MAX_LENGTH = 10; export declare const GLITCH_OVERLAP_MAX_START = 10; export declare const GLITCH_OVERLAP_MAX_LENGTH = 10; export declare const GLITCH_FADE_OUT_FRAMES = 18; export declare const GLITCH_SHRINK_FADE_OUT_FRAMES = 8; export declare const GLITCH_COOLDOWN_MS = 2000; export declare const MSG_GLITCH_MIN_FRAMES: number; export declare const TPS_HYSTERESIS_PCT = 0.15; export declare const TPS_HYSTERESIS_MS = 2000; export declare const TPS_FLASH_COOLDOWN_MS = 3000; export interface GlitchQueueItem { from: string; to: string; start: number; end: number; fadeOutEnd?: number; settleEnd?: number; char: string | null; } export interface LineState { lastText: string; displayedText: string; targetText: string; startTime: number; lastAnimTime: number; initialized: boolean; completed: boolean; lastAccessTime: number; glitchQueue: GlitchQueueItem[]; glitchFrame: number; lastGlitchTime: number; pendingGlitch: GlitchQueueItem[] | null; pendingOldDisplayed: string; pendingNewDisplayed: string; pendingStartTime: number; } export type LineKey = 'aim' | 'act' | 'msg'; export interface ScrambleResult { label: string; content: string; isAnimating: boolean; } export interface ValueFlashState { prev: string; startTime: number; lastValueChangeTime: number; lastFlashTime: number; completed: boolean; glitchQueue: GlitchQueueItem[]; glitchFrame: number; lastGlitchTime: number; } export declare const RANDOM_POOL_SIZE = 2048; export declare const POOL_REFILL_THRESHOLD = 512; export declare function poolRandomChar(): string; export declare const MAX_FLOW_ENTRIES = 128; export declare const MAX_CACHE_AGE_MS: number; //# sourceMappingURL=constants.d.ts.map