/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { Disposable } from '@sussudio/base/common/lifecycle.mjs';
import { ILogService } from '../../log/common/log.mjs';
export declare const ignoreProcessNames: string[];
/**
 * Monitors a process for child processes, checking at differing times depending on input and output
 * calls into the monitor.
 */
export declare class ChildProcessMonitor extends Disposable {
	private readonly _pid;
	private readonly _logService;
	private _isDisposed;
	private _hasChildProcesses;
	private set hasChildProcesses(value);
	/**
	 * Whether the process has child processes.
	 */
	get hasChildProcesses(): boolean;
	private readonly _onDidChangeHasChildProcesses;
	/**
	 * An event that fires when whether the process has child processes changes.
	 */
	readonly onDidChangeHasChildProcesses: import('@sussudio/base/common/event.mjs').Event<boolean>;
	constructor(_pid: number, _logService: ILogService);
	dispose(): void;
	/**
	 * Input was triggered on the process.
	 */
	handleInput(): void;
	/**
	 * Output was triggered on the process.
	 */
	handleOutput(): void;
	private _refreshActive;
	private _refreshInactive;
	private _processContainsChildren;
}
