/** * Theme bridge between ITerminalTheme (xterm.js format) and GhosttyTheme (restty format). * * Converts the mks-dev-environment Synthwave theme colors into * restty's Ghostty-compatible theme format for GPU-rendered terminals. * * @module components/devenv/terminal/theme-restty */ import type { ITerminalTheme } from './Terminal.types'; /** * RGB color as used by restty's Ghostty theme format. * Each channel is 0-255. */ export interface IResttyThemeColor { r: number; g: number; b: number; a?: number; } /** * Ghostty theme structure compatible with restty's applyTheme(). * Mirrors the GhosttyTheme type from restty/theme. */ export interface IResttyGhosttyTheme { name?: string; colors: { background?: IResttyThemeColor; foreground?: IResttyThemeColor; cursor?: IResttyThemeColor; cursorText?: IResttyThemeColor; selectionBackground?: IResttyThemeColor; selectionForeground?: IResttyThemeColor; palette: Array; }; raw: Record; } /** * Convert a hex color string (#RRGGBB or #RGB) to restty's ThemeColor format. * * @param hex - Hex color string (e.g., '#D40C67', '#fff') * @returns RGB color object with channels 0-255 */ export declare function hexToResttyColor(hex: string): IResttyThemeColor; /** * Convert ITerminalTheme (xterm.js format) to GhosttyTheme (restty format). * * Maps the 16-color ANSI palette plus background, foreground, cursor, * and selection colors to restty's Ghostty theme structure. * * @param theme - xterm.js theme with hex color values * @returns Ghostty theme compatible with restty's applyTheme() */ export declare function xtermThemeToGhostty(theme: ITerminalTheme): IResttyGhosttyTheme; /** * Get the Synthwave Industrial Dark theme in Ghostty format for restty. * * Pre-built conversion of the default terminal theme, ready to pass * directly to `restty.applyTheme()`. * * @returns GhosttyTheme with Synthwave colors */ export declare function getSynthwaveGhosttyTheme(): IResttyGhosttyTheme; //# sourceMappingURL=Terminal.theme.restty.d.ts.map