import type { IFilesystem, TerminalLine, WCLIConfig } from '../types'; import type { IHistoryManager } from './IHistoryManager'; import { CommandExecutor } from './CommandExecutor'; import { PluginLoader } from './PluginLoader'; import { PromptManager } from './PromptManager'; export declare class Terminal { private fs; private executor; private pluginLoader; private lines; private onOutputCallback?; private config; private hooks; private sessionManager?; private historyManager?; private storageAdapter; private promptManager; constructor(config?: WCLIConfig); initialize(): Promise; getFilesystem(): IFilesystem; getExecutor(): CommandExecutor; getPluginLoader(): PluginLoader; executeCommand(input: string): Promise; private addLine; getLines(): TerminalLine[]; clearLines(): void; onOutput(callback: (line: TerminalLine) => void): void; getPrompt(): string; /** * Register a lifecycle hook */ on(event: string, listener: (...args: any[]) => void | Promise): void; /** * Unregister a lifecycle hook */ off(event: string, listener: (...args: any[]) => void | Promise): void; /** * Get the current configuration */ getConfig(): WCLIConfig; /** * Get the history manager */ getHistoryManager(): IHistoryManager | undefined; /** * Get the prompt manager */ getPromptManager(): PromptManager; /** * Save the current session */ saveSession(): Promise; /** * Load a saved session */ loadSession(): Promise; /** * Clear the saved session */ clearSession(): Promise; private generateId; } //# sourceMappingURL=Terminal.d.ts.map