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

import { ITerminalEnvironment } from '../../terminal/common/terminal.mjs';
export declare const IExternalTerminalService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IExternalTerminalService>;
export interface IExternalTerminalSettings {
	linuxExec?: string;
	osxExec?: string;
	windowsExec?: string;
}
export interface ITerminalForPlatform {
	windows: string;
	linux: string;
	osx: string;
}
export interface IExternalTerminalService {
	readonly _serviceBrand: undefined;
	openTerminal(configuration: IExternalTerminalSettings, cwd: string | undefined): Promise<void>;
	runInTerminal(
		title: string,
		cwd: string,
		args: string[],
		env: ITerminalEnvironment,
		settings: IExternalTerminalSettings,
	): Promise<number | undefined>;
	getDefaultTerminalForPlatforms(): Promise<ITerminalForPlatform>;
}
export interface IExternalTerminalConfiguration {
	terminal: {
		explorerKind: 'integrated' | 'external';
		external: IExternalTerminalSettings;
	};
}
export declare const DEFAULT_TERMINAL_OSX = 'Terminal.app';
export declare const IExternalTerminalMainService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IExternalTerminalMainService>;
export interface IExternalTerminalMainService extends IExternalTerminalService {
	readonly _serviceBrand: undefined;
}
