import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ILanguageModelProviderDescriptor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels"; import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { MarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent"; import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service"; import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service"; import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { ILanguageModel } from "./chatModelsViewModel.js"; import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IEditorProgressService } from "@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service"; import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service"; import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; export declare function getModelHoverContent(model: ILanguageModel): MarkdownString; /** * Pure helper for building the dropdown actions shown by the **Add Models** button. * * Exposed for unit testing. When `supportsAddingModels` is false, no actions are returned * regardless of the other inputs so that the existing entitlement/managed-by-organization * restriction is preserved. */ export declare function buildAddModelsDropdownActions(configurableVendors: ILanguageModelProviderDescriptor[], supportsAddingModels: boolean, runVendorAction: (vendor: ILanguageModelProviderDescriptor) => void | Promise): IAction[]; export declare class ChatModelsWidget extends Disposable { private readonly languageModelsService; private readonly instantiationService; private readonly extensionService; private readonly contextMenuService; private readonly chatEntitlementService; private readonly editorProgressService; private readonly commandService; private readonly editorGroupsService; private readonly contextKeyService; private readonly dialogService; private readonly extensionsWorkbenchService; private readonly environmentService; private static NUM_INSTANCES; readonly element: HTMLElement; private readonly _onDidChangeItemCount; readonly onDidChangeItemCount: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private searchWidget; private searchActionsContainer; private table; private tableContainer; private tableViewport; private tableInner; private tableScrollable; private tableMinWidth; private addButtonContainer; private addButton; private dropdownActions; private viewModel; private delayedFiltering; private readonly searchFocusContextKey; private readonly tableDisposables; constructor(languageModelsService: ILanguageModelsService, instantiationService: IInstantiationService, extensionService: IExtensionService, contextMenuService: IContextMenuService, chatEntitlementService: IChatEntitlementService, editorProgressService: IEditorProgressService, commandService: ICommandService, editorGroupsService: IEditorGroupsService, contextKeyService: IContextKeyService, dialogService: IDialogService, extensionsWorkbenchService: IExtensionsWorkbenchService, environmentService: IWorkbenchEnvironmentService); private create; private createTable; private updateAddModelsButton; private openLanguageModelProviderExtensionsSearch; private filterModels; private addModelsForVendor; layout(height: number, width: number): void; focusSearch(): void; search(filter: string): void; clearSearch(): void; render(): void; /** * Gets the total model count (excluding vendor/group/status headers). */ get itemCount(): number; /** * Re-fires the current item count. Call after subscribing to onDidChangeItemCount * to ensure the subscriber receives the latest count. */ fireItemCount(): void; }