import { Action, IAction, IActionChangeEvent } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { Emitter } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { IActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems"; import { ActionWithDropdownActionViewItem, IActionWithDropdownActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem"; import { IContextMenuProvider } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/contextmenu"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service"; import { IEnablementModel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/enablement"; import { IAgentPlugin } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginService"; import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service"; import { IMarketplacePluginItem } from "./agentPluginEditor/agentPluginItems.js"; export declare class InstallPluginAction extends Action { constructor(item: IMarketplacePluginItem, pluginInstallService: IPluginInstallService); } export declare class UninstallPluginAction extends Action { constructor(plugin: IAgentPlugin); } export declare class OpenPluginFolderAction extends Action { constructor(plugin: IAgentPlugin, commandService: ICommandService, openerService: IOpenerService); } export declare class OpenPluginReadmeAction extends Action { constructor(readmeUri: import("@codingame/monaco-vscode-api/vscode/vs/base/common/uri").URI, openerService: IOpenerService); } /** * Builds the standard context menu action groups for an installed plugin. */ export declare function getInstalledPluginContextMenuActions(plugin: IAgentPlugin, instantiationService: IInstantiationService): IAction[][]; /** * Sub-action base class that auto-hides when disabled, for use inside * {@link EnablementDropDownAction}. */ declare class EnablementSubAction extends Action { private _hidden; get hidden(): boolean; set hidden(v: boolean); constructor(id: string, label: string, cssClass: string, enabled: boolean, actionCallback: () => Promise); protected _setEnabled(value: boolean): void; } interface IEnablementActionChangeEvent extends IActionChangeEvent { readonly menuActions?: IAction[]; } /** * Dropdown action that aggregates enablement sub-actions and shows the * first visible one as the primary button, with others in the dropdown. * Hides itself entirely when all sub-actions are hidden. */ export declare class EnablementDropDownAction extends Action { readonly menuActionClassNames: string[]; private _menuActions; get menuActions(): IAction[]; private _isHidden; get isHidden(): boolean; protected readonly _onDidChange: Emitter; get onDidChange(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly subActions; constructor(id: string, subActions: EnablementSubAction[]); private _updateDropdown; run(): Promise; dispose(): void; } /** * View item for {@link EnablementDropDownAction} that properly hides * the dropdown chevron when there are no secondary actions. */ export declare class EnablementDropdownActionViewItem extends ActionWithDropdownActionViewItem { constructor(action: EnablementDropDownAction, options: IActionViewItemOptions & IActionWithDropdownActionViewItemOptions, contextMenuProvider: IContextMenuProvider); render(container: HTMLElement): void; protected updateClass(): void; } /** * Creates the enable dropdown action for a plugin, containing Enable * and Enable (Workspace) sub-actions. */ export declare function createEnablePluginDropDown(plugin: IAgentPlugin, enablementModel: IEnablementModel, workspaceContextService: IWorkspaceContextService): EnablementDropDownAction; /** * Creates the disable dropdown action for a plugin, containing Disable * and Disable (Workspace) sub-actions. */ export declare function createDisablePluginDropDown(plugin: IAgentPlugin, enablementModel: IEnablementModel, workspaceContextService: IWorkspaceContextService): EnablementDropDownAction; export {};