/** * rgui core — themes. Every chrome color the renderers use lives in one * RgTheme object, so hosts can pass "dark" | "light" | any custom palette * (and swap live via viewer.setTheme). The built-in pair keeps the mascot * identity in both modes: field arrows stay purple (⊙ toward the viewer) * and gold (⊗ away) — the Royal Gramma crossover — tuned per background. * * Data colors (per-kind wire colors, node.bg overrides) are host data, not * theme chrome, and are unaffected. */ export interface RgTheme { /** canvas clear color (ignored when the host renders background: false) */ background: string; /** field arrows pointing at the viewer — ⊙, the mascot purple */ arrowToward: string; /** field arrows pointing into the screen — ⊗, the mascot gold */ arrowAway: string; /** outline ink: node borders, port strokes, solder joints, indicators */ ink: string; /** default node body fill (node.bg overrides per node) */ nodeBg: string; /** chip painted behind edge labels so wire text reads over anything */ labelBg: string; /** drop shadow under screen-constant pseudo-nodes */ shadow: string; /** primary text (field values, node titles) */ text: string; /** secondary text (summary lines, panel titles) */ textDim: string; /** muted text (field keys, unpinned glyphs) */ textMuted: string; /** faintest text (hints, empty states) */ textFaint: string; /** highlight: selection box, hover borders, pinned stars */ accent: string; /** invalid state (e.g. incompatible connection target) */ danger: string; /** merged pseudo-node header fill */ pseudoHeader: string; /** panel chrome */ panelBg: string; panelBorder: string; panelHeaderBg: string; } export declare const DARK_THEME: RgTheme; /** * Light mode: warm paper (suits the gold half of the mascot pair); the * purple/gold arrows deepen so they keep contrast on a bright field. */ export declare const LIGHT_THEME: RgTheme; /** * Theme input: a built-in name, or a partial palette over a base * ({ base: "light", accent: "#e91e63" } — omitted base = dark). */ export type RgThemeInput = "dark" | "light" | (Partial & { base?: "dark" | "light"; }); /** Resolve input to a fresh mutable RgTheme (safe to Object.assign later). */ export declare function resolveTheme(input?: RgThemeInput): RgTheme; /** Parse "#rgb" / "#rrggbb" / "rgb(a)(…)" into [r, g, b] 0–255. */ export declare function themeRgb(color: string): [number, number, number]; /** color with an explicit alpha, e.g. withAlpha(theme.accent, 0.08) */ export declare function withAlpha(color: string, alpha: number): string; //# sourceMappingURL=theme.d.ts.map