import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import type { IWindowsMxcConfig, IWindowsMxcPolicyContainment, IWindowsMxcSandboxPolicy } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/sandboxHelperService"; import { IWindowsMxcTerminalSandboxRuntime } from "@codingame/monaco-vscode-api/vscode/vs/platform/sandbox/common/terminalSandboxMxcRuntime.service"; export interface IWindowsMxcConfigOptions { command: string; shell?: string; cwd: URI | undefined; tempDir: URI; schemaVersion?: string; allowNetwork: boolean; allowReadPaths: string[]; allowWritePaths: string[]; denyReadPaths: string[]; env: string[]; } export type IWindowsMxcBuildSandboxPayload = (commandLine: string, policy: IWindowsMxcSandboxPolicy, workingDirectory?: string, containerName?: string, containment?: IWindowsMxcPolicyContainment) => Promise; /** * Windows-only MXC integration for terminal sandboxing. * * This class is intentionally isolated from the SRT-backed runtime so it can be * removed once SRT supports Windows sandboxing. */ export declare class WindowsMxcTerminalSandboxRuntime implements IWindowsMxcTerminalSandboxRuntime { readonly _serviceBrand: undefined; private readonly _configVersion; getExecutablePath(appRoot: string, arch: string | undefined): string; getRuntimeReadPaths(appRoot: string | undefined, executablePath: string | undefined): string[]; createConfig(options: IWindowsMxcConfigOptions, buildSandboxPayload: IWindowsMxcBuildSandboxPayload): Promise; wrapCommand(executablePath: string, configPath: string): string; wrapUnsandboxedCommand(command: string): string; toWindowsPath(uri: URI): string; private _normalizeWindowsPath; private _createNetworkPolicy; private _quotePowerShellArgument; private _quoteWindowsCommandLineArgument; }