import { EventEmitter } from 'events'; import type { Session, SessionStatus, SessionConfig } from './types'; export interface TerminalSessionEvents { 'data': (data: string) => void; 'exit': (code: number, signal?: string) => void; 'error': (error: Error) => void; } export declare class TerminalSession extends EventEmitter { private readonly env; protected readonly logger: import("global-logger-factory").Logger; readonly sessionId: string; readonly userId: string; readonly command: string; readonly workdir: string; readonly createdAt: Date; readonly expiresAt: Date; private _status; private ptyProcess?; private idleTimer?; private sessionTimer?; private readonly idleTimeout; constructor(sessionId: string, userId: string, config: SessionConfig, env: Record); get status(): SessionStatus; get pid(): number | undefined; private start; private resetIdleTimer; write(data: string): void; resize(cols: number, rows: number): void; sendSignal(signal: string): void; terminate(): void; private cleanup; toJSON(): Session; }