import type { TermSize, WsEventEmitter } from './terminal.interfaces.js';
import { ConfigService } from '../../../core/config/config.service.js';
import { Logger } from '../../../core/logger/logger.service.js';
import { NodePtyService } from '../../../core/node-pty/node-pty.service.js';
export declare class TerminalService {
    private readonly configService;
    private readonly logger;
    private readonly nodePtyService;
    private ending;
    private static persistentTerminal;
    private static connectedClients;
    private static dataListenerAttached;
    private static terminalBuffer;
    private instanceId;
    constructor(configService: ConfigService, logger: Logger, nodePtyService: NodePtyService);
    private getPreferredShell;
    startSession(client: WsEventEmitter, size: TermSize): Promise<void>;
    private createNewTerminal;
    private attachToPersistentTerminal;
    hasPersistentSession(): boolean;
    destroyPersistentSession(): void;
}
