import { IMatch } from "@codingame/monaco-vscode-api/vscode/vs/base/common/filters"; import { ILanguageModelProviderDescriptor, ILanguageModelChatMetadataAndIdentifier } 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 { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { ILanguageModelsProviderGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelsConfiguration"; import Severity from "@codingame/monaco-vscode-api/vscode/vs/base/common/severity"; export declare const MODEL_ENTRY_TEMPLATE_ID = "model.entry.template"; export declare const VENDOR_ENTRY_TEMPLATE_ID = "vendor.entry.template"; export declare const GROUP_ENTRY_TEMPLATE_ID = "group.entry.template"; export declare const SEARCH_SUGGESTIONS: { FILTER_TYPES: string[]; CAPABILITIES: string[]; }; export interface ILanguageModelProvider { vendor: ILanguageModelProviderDescriptor; group: ILanguageModelsProviderGroup; } export interface ILanguageModel extends ILanguageModelChatMetadataAndIdentifier { provider: ILanguageModelProvider; hidden: boolean; } export interface ILanguageModelEntry { type: "model"; id: string; templateId: string; model: ILanguageModel; providerMatches?: IMatch[]; modelNameMatches?: IMatch[]; modelIdMatches?: IMatch[]; capabilityMatches?: string[]; } export interface ILanguageModelGroupEntry { type: "group"; id: string; label: string; collapsed: boolean; templateId: string; } export interface ILanguageModelProviderEntry { type: "vendor"; id: string; label: string; templateId: string; collapsed: boolean; hidden: boolean; vendorEntry: ILanguageModelProvider; } export interface IStatusEntry { type: "status"; id: string; message: string; severity: Severity; } export interface ILanguageModelEntriesGroup { group: ILanguageModelGroupEntry | ILanguageModelProviderEntry; models: ILanguageModel[]; status?: IStatusEntry; } export declare function isLanguageModelProviderEntry(entry: IViewModelEntry): entry is ILanguageModelProviderEntry; export declare function isLanguageModelGroupEntry(entry: IViewModelEntry): entry is ILanguageModelGroupEntry; export declare function isStatusEntry(entry: IViewModelEntry): entry is IStatusEntry; export type IViewModelEntry = ILanguageModelEntry | ILanguageModelProviderEntry | ILanguageModelGroupEntry | IStatusEntry; export interface IViewModelChangeEvent { at: number; removed: number; added: IViewModelEntry[]; } export declare enum ChatModelGroup { Vendor = "vendor" } export declare class ChatModelsViewModel extends Disposable { private readonly languageModelsService; private readonly _onDidChange; readonly onDidChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidChangeGrouping; readonly onDidChangeGrouping: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private languageModels; private languageModelGroupStatuses; private languageModelGroups; private readonly collapsedGroups; private searchValue; private modelsSorted; private _groupBy; get groupBy(): ChatModelGroup; set groupBy(groupBy: ChatModelGroup); constructor(languageModelsService: ILanguageModelsService); private readonly _viewModelEntries; get viewModelEntries(): readonly IViewModelEntry[]; private splice; selectedEntry: IViewModelEntry | undefined; shouldRefilter(): boolean; filter(searchValue: string): readonly IViewModelEntry[]; private doFilter; private filterModels; private getMatchingCapabilities; private groupModels; private createLanguageModelProviderEntry; getVendors(): ILanguageModelProviderDescriptor[]; refresh(): Promise; private refreshAllVendors; private refreshVendor; private addVendorModels; getModelsForGroup(group: ILanguageModelProviderEntry | ILanguageModelGroupEntry): ILanguageModel[]; toggleModelHidden(entry: ILanguageModelEntry): void; toggleGroupHidden(entry: ILanguageModelProviderEntry): void; setModelsHidden(entries: readonly ILanguageModelEntry[], hidden: boolean): void; private refreshVisibility; private getModelId; private getProviderGroupId; toggleCollapsed(viewModelEntry: IViewModelEntry): void; collapseAll(): void; getConfiguredVendors(): ILanguageModelProvider[]; }