import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { IChatMode } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatModes"; import { IToolAndToolSetEnablementMap, IToolData, ToolSet } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService"; import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service"; export declare enum ToolsScope { Global = 0, Session = 1, Mode = 2 } export declare class ChatSelectedTools extends Disposable { private readonly _mode; private readonly _toolsService; private readonly _instantiationService; private readonly _selectedTools; private readonly _sessionStates; private readonly _allTools; readonly entries: IObservable>; constructor(_mode: IObservable, _toolsService: ILanguageModelToolsService, _storageService: IStorageService, _instantiationService: IInstantiationService); get entriesMap(): IObservable; get entriesScope(): ToolsScope; get currentMode(): IChatMode; resetSessionEnablementState(): void; set(enablementMap: IToolAndToolSetEnablementMap, sessionOnly: boolean): void; updateCustomModeTools(uri: URI, enablementMap: IToolAndToolSetEnablementMap): Promise; asEnablementMap(): Map; }