import { ButtonBar } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button"; import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IToolBarRenderOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar"; import { MenuId, IMenuActionOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions"; import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service"; import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; export type IButtonConfigProvider = (action: IAction, index: number) => { showIcon?: boolean; showLabel?: boolean; isSecondary?: boolean; } | undefined; export interface IWorkbenchButtonBarOptions { telemetrySource?: string; buttonConfigProvider?: IButtonConfigProvider; } export declare class WorkbenchButtonBar extends ButtonBar { private readonly _options; private readonly _contextMenuService; private readonly _keybindingService; private readonly _hoverService; protected readonly _store: DisposableStore; protected readonly _updateStore: DisposableStore; private readonly _actionRunner; private readonly _onDidChange; readonly onDidChange: Event; constructor(container: HTMLElement, _options: IWorkbenchButtonBarOptions | undefined, _contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, telemetryService: ITelemetryService, _hoverService: IHoverService); dispose(): void; update(actions: IAction[], secondary: IAction[]): void; } export interface IMenuWorkbenchButtonBarOptions extends IWorkbenchButtonBarOptions { menuOptions?: IMenuActionOptions; toolbarOptions?: IToolBarRenderOptions; } export declare class MenuWorkbenchButtonBar extends WorkbenchButtonBar { constructor(container: HTMLElement, menuId: MenuId, options: IMenuWorkbenchButtonBarOptions | undefined, menuService: IMenuService, contextKeyService: IContextKeyService, contextMenuService: IContextMenuService, keybindingService: IKeybindingService, telemetryService: ITelemetryService, hoverService: IHoverService); dispose(): void; update(_actions: IAction[]): void; }