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

import { IProcessEnvironment } from '@sussudio/base/common/platform.mjs';
import { IConfigurationService } from '../../configuration/common/configuration.mjs';
import { NativeParsedArgs } from '../../environment/common/argv.mjs';
import { ILogService } from '../../log/common/log.mjs';
import { IURLService } from '../../url/common/url.mjs';
import { IWindowsMainService } from '../../windows/electron-main/windows.mjs';
export declare const ID = 'launchMainService';
export declare const ILaunchMainService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<ILaunchMainService>;
export interface IStartArguments {
	readonly args: NativeParsedArgs;
	readonly userEnv: IProcessEnvironment;
}
export interface ILaunchMainService {
	readonly _serviceBrand: undefined;
	start(args: NativeParsedArgs, userEnv: IProcessEnvironment): Promise<void>;
	getMainProcessId(): Promise<number>;
}
export declare class LaunchMainService implements ILaunchMainService {
	private readonly logService;
	private readonly windowsMainService;
	private readonly urlService;
	private readonly configurationService;
	readonly _serviceBrand: undefined;
	constructor(
		logService: ILogService,
		windowsMainService: IWindowsMainService,
		urlService: IURLService,
		configurationService: IConfigurationService,
	);
	start(args: NativeParsedArgs, userEnv: IProcessEnvironment): Promise<void>;
	private parseOpenUrl;
	private startOpenWindow;
	getMainProcessId(): Promise<number>;
}
