/**
* TerminalPanelChrome Component.
*
* Reusable Ghostty-styled wrapper providing shared visual chrome
* for both log viewer and interactive terminal panels.
*
* Includes:
* - Multi-layer glassmorphism shell
* - Noise texture SVG overlay for depth
* - Animated top accent line (primary gradient with glow)
* - Session tabs (TerminalSessionTabs)
* - macOS-style header (TerminalPanelHeader) — gated by `showHeader` (default `true`)
* - Slots for action bar, children (terminal content), and footer
* - Neon magenta scrollbar styles
* - StyleSlots + CVA variants for customization
*
* As of v0.11.0 the structural skeleton is also available as the public
* {@link ChromeShell} primitive (variant B nativa upstream). Consumers
* who need full toolbar control without the macOS header should compose
* with {@link ChromeShell} directly. This component remains the
* batteries-included default for log / interactive panels.
*
* @module components/devenv/terminal/panel/chrome
*/
import type { ITerminalPanelChromeProps } from './TerminalPanelChrome.types';
/**
* Noise texture SVG for glassmorphism depth.
* Fractal noise pattern applied as background image.
*/
export declare const NOISE_TEXTURE_SVG = "\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E\"";
/**
* Terminal scroll customization with neon magenta glow effect.
* Applied to xterm.js viewport scrollbar.
*/
export declare const terminalScrollStyles = "\n @keyframes shimmer-line {\n 0%, 100% { background-position: 200% 0; }\n 50% { background-position: -200% 0; }\n }\n .terminal-scroll .xterm-viewport {\n overflow-y: auto;\n }\n .terminal-scroll .xterm-viewport::-webkit-scrollbar {\n width: 8px;\n }\n .terminal-scroll .xterm-viewport::-webkit-scrollbar-track {\n background: hsl(var(--terminal-bg, var(--background)) / 0.5);\n }\n .terminal-scroll .xterm-viewport::-webkit-scrollbar-thumb {\n background: linear-gradient(\n 180deg,\n hsl(var(--primary) / 0.3) 0%,\n hsl(var(--primary) / 0.5) 50%,\n hsl(var(--primary) / 0.3) 100%\n );\n border-radius: 4px;\n box-shadow: 0 0 10px hsl(var(--primary) / 0.3);\n }\n .terminal-scroll .xterm-viewport::-webkit-scrollbar-thumb:hover {\n background: linear-gradient(\n 180deg,\n hsl(var(--primary) / 0.5) 0%,\n hsl(var(--primary) / 0.7) 50%,\n hsl(var(--primary) / 0.5) 100%\n );\n box-shadow: 0 0 15px hsl(var(--primary) / 0.5);\n }\n\n /* === CRT Shader Effects (opt-in via settings) === */\n\n /* Scanline overlay - replicates bettercrt.glsl scanline effect */\n .terminal-crt {\n position: relative;\n }\n .terminal-crt::after {\n content: '';\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 20;\n background: repeating-linear-gradient(\n 0deg,\n rgb(0 0 0 / 0.12) 0px,\n rgb(0 0 0 / 0.12) 1px,\n transparent 1px,\n transparent 2px\n );\n mix-blend-mode: multiply;\n }\n\n /* Vignette - CRT monitor light falloff */\n .terminal-crt::before {\n content: '';\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 19;\n background: radial-gradient(\n ellipse at center,\n transparent 60%,\n rgb(0 0 0 / 0.15) 100%\n );\n }\n\n /* Bloom/glow - replicates bloom.glsl text glow on bright text */\n .terminal-bloom * {\n text-shadow: 0 0 4px currentColor;\n }\n\n /* Bloom on xterm canvas - subtle drop-shadow on the canvas element */\n .terminal-bloom canvas {\n filter: drop-shadow(0 0 1px hsl(var(--primary) / 0.15));\n }\n\n /* Reduced motion - disable all CRT effects */\n @media (prefers-reduced-motion: reduce) {\n .terminal-crt::after,\n .terminal-crt::before { display: none; }\n .terminal-bloom * { text-shadow: none !important; }\n .terminal-bloom canvas { filter: none !important; }\n }\n";
/**
* TerminalPanelChrome Component.
*
* Reusable Ghostty-styled shell that wraps terminal content with
* consistent visual chrome. Used by both TerminalLogsPanel (readonly)
* and TerminalInteractivePanel (interactive).
*
* Supports StyleSlots for class overrides and CVA variants
* for visual presets (default, minimal, error).
*
* v0.11.0 additions (additive, fully backward-compatible):
* - `showHeader` (default `true`) — set to `false` to skip rendering
* the default {@link TerminalPanelHeader}.
* - `header` slot — replace the default header with custom content
* (e.g. richer status, breadcrumbs). Wins over `showHeader`.
*
* For chrome-less composition (no traffic lights, no session tabs,
* full toolbar control), use the public {@link ChromeShell} primitive
* directly instead.
*
* @example
* ```tsx
*