/*---------------------------------------------------------------------------------------------
 *  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 { NativeParsedArgs } from '../../environment/common/argv.mjs';
import { ILogService } from '../../log/common/log.mjs';
import { IConfigurationService } from '../../configuration/common/configuration.mjs';
/**
 * Resolves the shell environment by spawning a shell. This call will cache
 * the shell spawning so that subsequent invocations use that cached result.
 *
 * Will throw an error if:
 * - we hit a timeout of `MAX_SHELL_RESOLVE_TIME`
 * - any other error from spawning a shell to figure out the environment
 */
export declare function getResolvedShellEnv(
	configurationService: IConfigurationService,
	logService: ILogService,
	args: NativeParsedArgs,
	env: IProcessEnvironment,
): Promise<typeof process.env>;
