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

import { IStringDictionary } from '@sussudio/base/common/collections.mjs';
import { ISandboxConfiguration } from '@sussudio/base/parts/sandbox/common/sandboxTypes.mjs';
import { NativeParsedArgs } from '../../environment/common/argv.mjs';
import { LogLevel } from '../../log/common/log.mjs';
import { IUserDataProfile } from '../../userDataProfile/common/userDataProfile.mjs';
import { PolicyDefinition, PolicyValue } from '../../policy/common/policy.mjs';
import { UriDto } from '@sussudio/base/common/uri.mjs';
export interface ISharedProcess {
	/**
	 * Toggles the visibility of the otherwise hidden
	 * shared process window.
	 */
	toggle(): Promise<void>;
}
export interface ISharedProcessConfiguration extends ISandboxConfiguration {
	readonly machineId: string;
	readonly args: NativeParsedArgs;
	readonly logLevel: LogLevel;
	readonly profiles: readonly UriDto<IUserDataProfile>[];
	readonly policiesData?: IStringDictionary<{
		definition: PolicyDefinition;
		value: PolicyValue;
	}>;
}
