import { DynamicListEventMultiplexer, Event, IDynamicListEventMultiplexer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { ICreateContributedTerminalProfileOptions, ITerminalBackend, ITerminalLaunchError, TerminalLocation } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal"; import { ITerminalLogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal.service"; import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { ICreateTerminalOptions, IDetachedTerminalInstance, IDetachedXTermOptions, ITerminalGroup, ITerminalInstance, ITerminalInstanceHost, ITerminalLocationOptions, ITerminalServiceNativeDelegate, TerminalConnectionState } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal"; import { ITerminalInstanceService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalGroupService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { IRemoteTerminalAttachTarget, IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal"; import { ITerminalProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal.service"; import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service"; import { ACTIVE_GROUP_TYPE, AUX_WINDOW_GROUP_TYPE, SIDE_GROUP_TYPE } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service"; import { ILifecycleService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/lifecycle/common/lifecycle.service"; import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; import { ITimerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/timer/browser/timerService.service"; import { ITerminalCapabilityImplMap, TerminalCapability } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/capabilities/capabilities"; import { GroupIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor"; export declare class TerminalService extends Disposable implements ITerminalService { private _contextKeyService; private readonly _lifecycleService; private readonly _logService; private _dialogService; private _instantiationService; private _remoteAgentService; private readonly _configurationService; private readonly _environmentService; private readonly _terminalConfigurationService; private readonly _terminalEditorService; private readonly _terminalGroupService; private readonly _terminalInstanceService; private readonly _editorGroupsService; private readonly _terminalProfileService; private readonly _extensionService; private readonly _notificationService; private readonly _workspaceContextService; private readonly _commandService; private readonly _keybindingService; private readonly _timerService; private readonly _themeService; _serviceBrand: undefined; private _hostActiveTerminals; private _detachedXterms; private _detachedListenersRegistered; private readonly _terminalShellTypeContextKey; private _isShuttingDown; private _backgroundedTerminalInstances; private _backgroundedTerminalDisposables; private _processSupportContextKey; private _primaryBackend?; private _terminalHasBeenCreated; private _terminalCountContextKey; private _nativeDelegate?; private _shutdownWindowCount?; get isProcessSupportRegistered(): boolean; private _connectionState; get connectionState(): TerminalConnectionState; private readonly _whenConnected; get whenConnected(): Promise; private _restoredGroupCount; get restoredGroupCount(): number; get instances(): ITerminalInstance[]; /** Gets all non-background terminals. */ get foregroundInstances(): ITerminalInstance[]; get detachedInstances(): Iterable; private _reconnectedTerminalGroups; private _reconnectedTerminals; getReconnectedTerminals(reconnectionOwner: string): ITerminalInstance[] | undefined; private _activeInstance; get activeInstance(): ITerminalInstance | undefined; private readonly _onDidCreateInstance; get onDidCreateInstance(): Event; private readonly _onDidChangeInstanceDimensions; get onDidChangeInstanceDimensions(): Event; private readonly _onDidRegisterProcessSupport; get onDidRegisterProcessSupport(): Event; private readonly _onDidChangeConnectionState; get onDidChangeConnectionState(): Event; private readonly _onDidRequestStartExtensionTerminal; get onDidRequestStartExtensionTerminal(): Event; private readonly _onDidDisposeInstance; get onDidDisposeInstance(): Event; private readonly _onDidFocusInstance; get onDidFocusInstance(): Event; private readonly _onDidChangeActiveInstance; get onDidChangeActiveInstance(): Event; private readonly _onDidChangeInstances; get onDidChangeInstances(): Event; private readonly _onDidChangeInstanceCapability; get onDidChangeInstanceCapability(): Event; private readonly _onDidChangeActiveGroup; get onDidChangeActiveGroup(): Event; get onAnyInstanceData(): Event<{ instance: ITerminalInstance; data: string; }>; get onAnyInstanceDataInput(): Event; get onAnyInstanceIconChange(): Event<{ instance: ITerminalInstance; userInitiated: boolean; }>; get onAnyInstanceMaximumDimensionsChange(): Event; get onAnyInstancePrimaryStatusChange(): Event; get onAnyInstanceProcessIdReady(): Event; get onAnyInstanceSelectionChange(): Event; get onAnyInstanceTitleChange(): Event; get onAnyInstanceShellTypeChanged(): Event; get onAnyInstanceAddedCapabilityType(): Event; constructor(_contextKeyService: IContextKeyService, _lifecycleService: ILifecycleService, _logService: ITerminalLogService, _dialogService: IDialogService, _instantiationService: IInstantiationService, _remoteAgentService: IRemoteAgentService, _configurationService: IConfigurationService, _environmentService: IWorkbenchEnvironmentService, _terminalConfigurationService: ITerminalConfigurationService, _terminalEditorService: ITerminalEditorService, _terminalGroupService: ITerminalGroupService, _terminalInstanceService: ITerminalInstanceService, _editorGroupsService: IEditorGroupsService, _terminalProfileService: ITerminalProfileService, _extensionService: IExtensionService, _notificationService: INotificationService, _workspaceContextService: IWorkspaceContextService, _commandService: ICommandService, _keybindingService: IKeybindingService, _timerService: ITimerService, _themeService: IThemeService); showProfileQuickPick(type: "setDefault" | "createInstance", cwd?: string | URI): Promise; private _initializePrimaryBackend; getPrimaryBackend(): ITerminalBackend | undefined; setNextCommandId(id: number, commandLine: string, commandId: string): Promise; private _forwardInstanceHostEvents; private _evaluateActiveInstance; setActiveInstance(value: ITerminalInstance | undefined): void; focusInstance(instance: ITerminalInstance): Promise; focusActiveInstance(): Promise; createContributedTerminalProfile(extensionIdentifier: string, id: string, options: ICreateContributedTerminalProfileOptions): Promise; safeDisposeTerminal(instance: ITerminalInstance): Promise; private _setConnected; private _reconnectToRemoteTerminals; private _reconnectToLocalTerminals; private _recreateTerminalGroups; private _reviveBackgroundTerminalInstances; private _recreateTerminalGroup; private _attachProcessLayoutListeners; private _handleInstanceContextKeys; getActiveOrCreateInstance(options?: { acceptsInput?: boolean; }): Promise; revealTerminal(source: ITerminalInstance, preserveFocus?: boolean): Promise; revealActiveTerminal(preserveFocus?: boolean): Promise; requestStartExtensionTerminal(proxy: ITerminalProcessExtHostProxy, cols: number, rows: number): Promise; private _onBeforeShutdown; private _onBeforeShutdownAsync; setNativeDelegate(nativeDelegate: ITerminalServiceNativeDelegate): void; private _shouldReviveProcesses; private _onBeforeShutdownConfirmation; private _onWillShutdown; private _saveState; private _updateTitle; private _updateIcon; refreshActiveGroup(): void; getInstanceFromId(terminalId: number): ITerminalInstance | undefined; getInstanceFromResource(resource: URI | undefined): ITerminalInstance | undefined; openResource(resource: URI): void; isAttachedToTerminal(remoteTerm: IRemoteTerminalAttachTarget): boolean; moveToEditor(source: ITerminalInstance, group?: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE): void; moveIntoNewEditor(source: ITerminalInstance): void; moveToTerminalView(source?: ITerminalInstance | URI, target?: ITerminalInstance, side?: "before" | "after"): Promise; protected _initInstanceListeners(instance: ITerminalInstance): void; private _addInstanceToGroup; registerProcessSupport(isSupported: boolean): void; private _getIndexFromId; protected _showTerminalCloseConfirmation(singleTerminal?: boolean): Promise; getDefaultInstanceHost(): ITerminalInstanceHost; getInstanceHost(location: ITerminalLocationOptions | undefined): Promise; createTerminal(options?: ICreateTerminalOptions): Promise; createAndFocusTerminal(options?: ICreateTerminalOptions): Promise; private _getContributedProfile; createDetachedTerminal(options: IDetachedXTermOptions): Promise; /** * Registers a single set of global service listeners (theme/config/log-level * changes) that forward updates to all detached xterm instances. This avoids * each detached terminal registering its own listener on global singletons. */ private _ensureDetachedTerminalListeners; private _resolveCwd; private _splitTerminal; private _createTerminal; resolveLocation(location?: ITerminalLocationOptions): Promise; private _getSplitParent; private _getEditorOptions; private _evaluateLocalCwd; moveToBackground(instance: ITerminalInstance): void; showBackgroundTerminal(instance: ITerminalInstance, suppressSetActive?: boolean): Promise; setContainers(panelContainer: HTMLElement, terminalContainer: HTMLElement): Promise; createOnInstanceEvent(getEvent: (instance: ITerminalInstance) => Event): DynamicListEventMultiplexer; createOnInstanceCapabilityEvent(capabilityId: T, getEvent: (capability: ITerminalCapabilityImplMap[T]) => Event): IDynamicListEventMultiplexer<{ instance: ITerminalInstance; data: K; }>; }