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

/// <reference types="node" />
import * as cp from 'child_process';
import * as Platform from '../common/platform.mjs';
import {
	CommandOptions,
	ForkOptions,
	Source,
	SuccessData,
	TerminateResponse,
	TerminateResponseCode,
} from '../common/processes.mjs';
export { CommandOptions, ForkOptions, SuccessData, Source, TerminateResponse, TerminateResponseCode };
export type ValueCallback<T> = (value: T | Promise<T>) => void;
export type ErrorCallback = (error?: any) => void;
export type ProgressCallback<T> = (progress: T) => void;
export declare function getWindowsShell(env?: Platform.IProcessEnvironment): string;
export interface IQueuedSender {
	send: (msg: any) => void;
}
export declare function createQueuedSender(childProcess: cp.ChildProcess): IQueuedSender;
export declare namespace win32 {
	function findExecutable(command: string, cwd?: string, paths?: string[]): Promise<string>;
}
