import { JSONSchemaType } from 'ajv'; import { SchemaIds } from '../constants/schemas'; import { GlobalOptions } from '../interfaces/common'; import Command from './command'; import { MonitorObjects } from '../../commands/monitor.constants'; import { MonitorEmittedData } from '../interfaces/monitor'; /** * Class to group common behavior among monitor commands. * * @category Classes * @internal */ export default class MonitorCommand extends Command { protected schemaId: SchemaIds; protected schema: JSONSchemaType; protected options: T_CommandOptions; protected globalOptions: GlobalOptions; protected ipCmd: string[]; static parseLineOutput(eventLine: string): MonitorEmittedData; private emitter; private spawnedProcess; constructor(schemaId: SchemaIds, schema: JSONSchemaType, options: T_CommandOptions, globalOptions: GlobalOptions, ipCmd: string[]); exec(): Promise; /** Listens to the events triggered by the monitor. */ on(event: MonitorObjects | 'error', cb: (data?: any) => void): this; /** Closes the monitor. */ close(): void; }