/** * Terminal Panel Component. * * Main UI component with toolbar, terminal display, and status indicator. * Configurable backend adapter (xterm.js, WebContainer, Monaco) with * Synthwave Industrial Dark theme matching the design system. * * @module components/devenv/terminal */ import type { ITerminalBackendType, ITerminalMode } from './Terminal.types'; /** * Props for the TerminalPanel component. */ export interface ITerminalPanelProps { /** Backend type to use (default: 'xterm') */ backend?: ITerminalBackendType; /** Terminal mode (default: 'interactive') */ mode?: ITerminalMode; /** WebSocket URL for interactive mode */ wsUrl?: string; /** SSE URL for readonly mode */ sseUrl?: string; /** Custom class name for styling */ className?: string; /** Display title (default: 'Terminal') */ title?: string; /** Show/hide toolbar (default: true) */ showToolbar?: boolean; /** Enable search functionality (default: true) */ enableSearch?: boolean; /** Callback when connection status changes */ onStatusChange?: (status: 'connected' | 'disconnected' | 'error' | 'connecting') => void; /** Callback when user types data */ onData?: (data: string) => void; } /** * Terminal Panel Component. * * Full-featured terminal UI with toolbar, status indicator, search, * and xterm.js integration. Supports both interactive (WebSocket) * and readonly (SSE) modes with proper cleanup and error handling. * * @example * ```tsx * // Interactive mode with WebSocket * sendMessage({ type: 'input', data })} * /> * * // Readonly mode with SSE * * ``` */ export declare function TerminalPanel({ backend, mode, wsUrl, sseUrl, className, title, showToolbar, onStatusChange, onData, }: ITerminalPanelProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=TerminalPanel.d.ts.map