UNPKG

@kya-os/cli

Version:

CLI for MCP-I setup and management

104 lines 3.05 kB
/** * Utility functions for terminal effects */ import { TerminalCapabilities, TerminalDimensions, Color, RGBColor, XTermColor } from "./types.js"; /** * ANSI escape codes */ export declare const ANSI: { reset: string; cursor: { hide: string; show: string; save: string; restore: string; home: string; moveTo: (x: number, y: number) => string; }; clear: { screen: string; line: string; toEnd: string; toStart: string; }; color: { fg: (color: Color) => string; bg: (color: Color) => string; }; }; /** * Detect terminal capabilities */ export declare function detectTerminalCapabilities(): TerminalCapabilities; /** * Get terminal dimensions */ export declare function getTerminalDimensions(): TerminalDimensions; /** * Convert RGB hex to XTerm-256 color * Based on the algorithm from https://github.com/Qix-/color-convert */ export declare function rgbToXterm(hex: RGBColor): XTermColor; /** * Strip ANSI codes from string */ export declare function stripAnsi(str: string): string; /** * Measure the visible length of a string (excluding ANSI codes) */ export declare function measureString(str: string): number; /** * Pad string to specified width (accounting for ANSI codes) */ export declare function padString(str: string, width: number, align?: "left" | "right" | "center"): string; /** * Create a buffer for double-buffered rendering */ export declare class RenderBuffer { private buffer; private width; private height; constructor(width: number, height: number); clear(): void; setChar(x: number, y: number, char: string, color?: string): void; toString(): string; getLines(): string[]; } /** * Sleep for specified milliseconds */ export declare function sleep(ms: number): Promise<void>; /** * Calculate FPS delay from frame rate */ export declare function calculateFrameDelay(fps: number): number; /** * Easing functions for smooth animations */ export declare const Easing: { linear: (t: number) => number; easeIn: (t: number) => number; easeOut: (t: number) => number; easeInOut: (t: number) => number; easeInCubic: (t: number) => number; easeOutCubic: (t: number) => number; easeInOutCubic: (t: number) => number; easeInOutSine: (t: number) => number; }; export declare const easeInQuad: (t: number) => number; export declare const easeOutQuad: (t: number) => number; export declare const easeInOutQuad: (t: number) => number; export declare const easeInOutSine: (t: number) => number; /** * Interpolate between two values */ export declare function lerp(start: number, end: number, t: number): number; /** * Clamp a value between min and max */ export declare function clamp(value: number, min: number, max: number): number; /** * Create a gradient between two colors */ export declare function createGradient(startColor: RGBColor, endColor: RGBColor, steps: number): RGBColor[]; //# sourceMappingURL=utils.d.ts.map