import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IExtension } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions"; /** * Compact detail view for a tool-contributing extension inside the AI Customizations management * editor's split-pane host. Renders identity (name + publisher), description and the list of * tools the extension contributes (read from its manifest). * * Mirrors {@link EmbeddedMcpServerDetail} / {@link EmbeddedAgentPluginDetail}; installing the * extension is handled by the gallery row the user came from, so this component stays read-only. */ export declare class EmbeddedExtensionToolsDetail extends Disposable { private readonly root; private readonly headerEl; private readonly leadingSlotEl; private readonly nameEl; private readonly publisherEl; private readonly descriptionEl; private readonly toolsHeadingEl; private readonly toolsListEl; private readonly toolsMessageEl; private readonly emptyEl; private current; private readonly _manifestLoad; constructor(parent: HTMLElement); get element(): HTMLElement; get headerElement(): HTMLElement; /** * Header slot reserved for leading chrome (e.g. a back button). * Prefer this over reaching into the header element directly. */ get leadingSlot(): HTMLElement; setInput(extension: IExtension): void; clearInput(): void; private renderItem; /** * Reads the contributed tools from the extension manifest. The manifest may be fetched from * the gallery for not-yet-installed extensions, so this is async and cancellation-safe. */ private loadTools; private renderTools; private setToolsMessage; }