/*---------------------------------------------------------------------------------------------
 *  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 "../../../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>;
}
