import { Dimension } from "../../../../base/browser/dom.js"; import { IActionViewItem } from "../../../../base/browser/ui/actionbar/actionbar.js"; import { IBoundarySashes } from "../../../../base/browser/ui/sash/sash.js"; import { IPaneViewOptions } from "../../../../base/browser/ui/splitview/paneview.js"; import { IAction } from "../../../../base/common/actions.js"; import { Event } from "../../../../base/common/event.js"; import { IDisposable } from "../../../../base/common/lifecycle.js"; import { Action2, IAction2Options, MenuId } from "../../../../platform/actions/common/actions.js"; import { IConfigurationService } from "../../../../platform/configuration/common/configuration.service.js"; import { IContextMenuService } from "../../../../platform/contextview/browser/contextView.service.js"; import { IInstantiationService, ServicesAccessor } from "../../../../platform/instantiation/common/instantiation.js"; import { IStorageService } from "../../../../platform/storage/common/storage.service.js"; import { ITelemetryService } from "../../../../platform/telemetry/common/telemetry.service.js"; import { IThemeService } from "../../../../platform/theme/common/themeService.service.js"; import { IWorkspaceContextService } from "../../../../platform/workspace/common/workspace.service.js"; import { ViewPane } from "./viewPane.js"; import { IViewletViewOptions } from "./viewsViewlet.js"; import { Component } from "../../../common/component.js"; import { IAddedViewDescriptorRef, IView, IViewContainerModel, IViewDescriptor, IViewPaneContainer, ViewContainer } from "../../../common/views.js"; import { IViewDescriptorService } from "../../../common/views.service.js"; import { IExtensionService } from "../../../services/extensions/common/extensions.service.js"; import { IWorkbenchLayoutService } from "../../../services/layout/browser/layoutService.service.js"; import { IBaseActionViewItemOptions } from "../../../../base/browser/ui/actionbar/actionViewItems.js"; import { ILogService } from "../../../../platform/log/common/log.service.js"; import { ViewContainerMenuActions } from "./viewMenuActions.js"; export declare const ViewsSubMenu: MenuId; export interface IViewPaneContainerOptions extends IPaneViewOptions { mergeViewWithContainerWhenSingleView: boolean; } export declare class ViewPaneContainer extends Component implements IViewPaneContainer { private options; protected instantiationService: IInstantiationService; protected configurationService: IConfigurationService; protected layoutService: IWorkbenchLayoutService; protected contextMenuService: IContextMenuService; protected telemetryService: ITelemetryService; protected extensionService: IExtensionService; protected storageService: IStorageService; protected contextService: IWorkspaceContextService; protected viewDescriptorService: IViewDescriptorService; protected readonly logService: ILogService; readonly viewContainer: ViewContainer; private lastFocusedPane; private lastMergedCollapsedPane; private paneItems; private paneview?; private visible; private areExtensionsReady; private didLayout; private dimension; private _boundarySashes; private readonly visibleViewsCountFromCache; private readonly visibleViewsStorageId; protected readonly viewContainerModel: IViewContainerModel; private readonly _onTitleAreaUpdate; readonly onTitleAreaUpdate: Event; private readonly _onDidChangeVisibility; readonly onDidChangeVisibility: Event; private readonly _onDidAddViews; readonly onDidAddViews: Event; private readonly _onDidRemoveViews; readonly onDidRemoveViews: Event; private readonly _onDidChangeViewVisibility; readonly onDidChangeViewVisibility: Event; private readonly _onDidFocusView; readonly onDidFocusView: Event; private readonly _onDidBlurView; readonly onDidBlurView: Event; get onDidSashChange(): Event; get panes(): ViewPane[]; get views(): IView[]; get length(): number; private _menuActions?; get menuActions(): ViewContainerMenuActions | undefined; constructor(id: string, options: IViewPaneContainerOptions, instantiationService: IInstantiationService, configurationService: IConfigurationService, layoutService: IWorkbenchLayoutService, contextMenuService: IContextMenuService, telemetryService: ITelemetryService, extensionService: IExtensionService, themeService: IThemeService, storageService: IStorageService, contextService: IWorkspaceContextService, viewDescriptorService: IViewDescriptorService, logService: ILogService); create(parent: HTMLElement): void; getTitle(): string; private showContextMenu; getActionsContext(): unknown; getActionViewItem(action: IAction, options: IBaseActionViewItemOptions): IActionViewItem | undefined; focus(): void; private get orientation(); layout(dimension: Dimension): void; setBoundarySashes(sashes: IBoundarySashes): void; getOptimalWidth(): number; addPanes(panes: { pane: ViewPane; size: number; index?: number; disposable: IDisposable; }[]): void; setVisible(visible: boolean): void; isVisible(): boolean; protected updateTitleArea(): void; protected createView(viewDescriptor: IViewDescriptor, options: IViewletViewOptions): ViewPane; getView(id: string): ViewPane | undefined; private saveViewSizes; private restoreViewSizes; private computeInitialSizes; protected saveState(): void; private onContextMenu; openView(id: string, focus?: boolean): IView | undefined; protected onDidAddViewDescriptors(added: IAddedViewDescriptorRef[]): ViewPane[]; private onDidRemoveViewDescriptors; toggleViewVisibility(viewId: string): void; private addPane; removePanes(panes: ViewPane[]): void; private removePane; movePane(from: ViewPane, to: ViewPane): void; resizePane(pane: ViewPane, size: number): void; getPaneSize(pane: ViewPane): number; private updateViewHeaders; isViewMergedWithContainer(): boolean; private onDidScrollPane; private onDidSashReset; dispose(): void; } export declare abstract class ViewPaneContainerAction extends Action2 { readonly desc: Readonly & { viewPaneContainerId: string; }; constructor(desc: Readonly & { viewPaneContainerId: string; }); run(accessor: ServicesAccessor, ...args: unknown[]): unknown; abstract runInViewPaneContainer(accessor: ServicesAccessor, viewPaneContainer: T, ...args: unknown[]): unknown; }