import { Orientation } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/sash/sash"; import { Event } 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 { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IShellLaunchConfig } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal"; import { IViewDescriptorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views.service"; import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service"; import { ITerminalGroup, ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal"; import { ITerminalGroupService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service"; import type { SingleOrMany } from "@codingame/monaco-vscode-api/vscode/vs/base/common/types"; export declare class TerminalGroupService extends Disposable implements ITerminalGroupService { private _contextKeyService; private readonly _instantiationService; private readonly _viewsService; private readonly _viewDescriptorService; private readonly _quickInputService; _serviceBrand: undefined; groups: ITerminalGroup[]; activeGroupIndex: number; get instances(): ITerminalInstance[]; lastAccessedMenu: "inline-tab" | "tab-list"; private _container; private _isQuickInputOpened; private readonly _onDidChangeActiveGroup; readonly onDidChangeActiveGroup: Event; private readonly _onDidDisposeGroup; readonly onDidDisposeGroup: Event; private readonly _onDidChangeGroups; readonly onDidChangeGroups: Event; private readonly _onDidShow; readonly onDidShow: Event; private readonly _onDidDisposeInstance; readonly onDidDisposeInstance: Event; private readonly _onDidFocusInstance; readonly onDidFocusInstance: Event; private readonly _onDidChangeActiveInstance; readonly onDidChangeActiveInstance: Event; private readonly _onDidChangeInstances; readonly onDidChangeInstances: Event; private readonly _onDidChangeInstanceCapability; readonly onDidChangeInstanceCapability: Event; private readonly _onDidChangePanelOrientation; readonly onDidChangePanelOrientation: Event; constructor(_contextKeyService: IContextKeyService, _instantiationService: IInstantiationService, _viewsService: IViewsService, _viewDescriptorService: IViewDescriptorService, _quickInputService: IQuickInputService); hidePanel(): void; get activeGroup(): ITerminalGroup | undefined; set activeGroup(value: ITerminalGroup | undefined); get activeInstance(): ITerminalInstance | undefined; setActiveInstance(instance: ITerminalInstance): void; private _getIndexFromId; setContainer(container: HTMLElement): void; focusTabs(): Promise; focusHover(): Promise; focusInstance(instance: ITerminalInstance): Promise; focusActiveInstance(): Promise; createGroup(slcOrInstance?: IShellLaunchConfig | ITerminalInstance): ITerminalGroup; showPanel(focus?: boolean): Promise; getInstanceFromResource(resource: URI | undefined): ITerminalInstance | undefined; private _removeGroup; /** * @param force Whether to force the group change, this should be used when the previous active * group has been removed. */ setActiveGroupByIndex(index: number, force?: boolean): void; private _getInstanceLocation; setActiveInstanceByIndex(index: number): void; setActiveGroupToNext(): void; setActiveGroupToPrevious(): void; private _getValidTerminalGroups; moveGroup(source: SingleOrMany, target: ITerminalInstance): void; moveGroupToEnd(source: SingleOrMany): void; moveInstance(source: ITerminalInstance, target: ITerminalInstance, side: "before" | "after"): void; unsplitInstance(instance: ITerminalInstance): void; joinInstances(instances: ITerminalInstance[]): void; instanceIsSplit(instance: ITerminalInstance): boolean; getGroupForInstance(instance: ITerminalInstance): ITerminalGroup | undefined; getGroupLabels(): string[]; /** * Visibility should be updated in the following cases: * 1. Toggle `TERMINAL_VIEW_ID` visibility * 2. Change active group * 3. Change instances in active group */ updateVisibility(): void; }