import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service"; import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { BaseDropdown, IActionProvider, IBaseDropdownOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdown"; import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables"; import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service"; export interface IActionWidgetDropdownAction extends IAction { category?: { label: string; order: number; }; icon?: ThemeIcon; description?: string; } export interface IActionWidgetDropdownActionProvider { getActions(): IActionWidgetDropdownAction[]; } export interface IActionWidgetDropdownOptions extends IBaseDropdownOptions { readonly actions?: IActionWidgetDropdownAction[]; readonly actionProvider?: IActionWidgetDropdownActionProvider; readonly actionBarActions?: IAction[]; readonly actionBarActionProvider?: IActionProvider; readonly showItemKeybindings?: boolean; } /** * Action widget dropdown is a dropdown that uses the action widget under the hood to simulate a native dropdown menu * The benefits of this include non native features such as headers, descriptions, icons, and button bar */ export declare class ActionWidgetDropdown extends BaseDropdown { private readonly _options; private readonly actionWidgetService; private readonly keybindingService; constructor(container: HTMLElement, _options: IActionWidgetDropdownOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService); show(): void; }