/** * XTerm Adapter - ITerminalAdapter implementation for xterm.js. * * Wrapper class that adapts xterm.js Terminal to the ITerminalAdapter * interface, enabling consistent API across different backends. * * @module components/devenv/terminal/XTermAdapter */ import type { ITerminalAdapter, ITerminalAdapterCapabilities, ITerminalOptions, ITerminalMode } from './Terminal.types'; /** * XTermAdapter implements ITerminalAdapter for xterm.js. * * Provides xterm.js functionality through the standardized adapter interface. * Manages terminal lifecycle including initialization, data writing, * resizing, and cleanup. */ export declare class XTermAdapter implements ITerminalAdapter { /** Backend type identifier */ readonly type: "xterm"; /** Adapter capabilities for runtime feature detection */ readonly capabilities: ITerminalAdapterCapabilities; /** xterm.js Terminal instance */ private terminal; /** FitAddon for auto-resize */ private fitAddon; /** Current options */ private options; /** * Create XTermAdapter instance. * * @param options - Terminal initialization options */ constructor(options: ITerminalOptions); /** * Initialize the terminal in the given container element. * * Creates xterm.js Terminal instance, loads addons, and opens * in the provided container. * * @param container - DOM element to render terminal into * @param options - Terminal initialization options * @returns Promise that resolves when terminal is ready */ initialize(container: HTMLElement, options: ITerminalOptions): Promise; /** * Write data to the terminal without newline. * * @param data - String data to write */ write(data: string): void; /** * Write data to the terminal with newline. * * @param data - String data to write */ writeln(data: string): void; /** * Clear the terminal buffer. */ clear(): void; /** * Resize the terminal to the given dimensions. * * @param cols - Number of columns * @param rows - Number of rows */ resize(cols: number, rows: number): void; /** * Dispose of the terminal and release resources. */ dispose(): void; /** * Switch between interactive and readonly modes. * * @param mode - Target mode */ setMode(mode: ITerminalMode): void; /** * Focus the terminal for input. */ focus(): void; /** * Remove focus from the terminal. */ blur(): void; } //# sourceMappingURL=XTermAdapter.d.ts.map