homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
30 lines (29 loc) • 1.06 kB
TypeScript
import type { EventEmitter } from 'node:events';
import { ConfigService } from '../../../core/config/config.service';
import { Logger } from '../../../core/logger/logger.service';
import { NodePtyService } from '../../../core/node-pty/node-pty.service';
export interface TermSize {
cols: number;
rows: number;
}
export declare class TerminalService {
private configService;
private logger;
private 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;
}
export interface WsEventEmitter extends EventEmitter {
disconnect: () => void;
}