import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { DisposableStore, IDisposable, 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 { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service"; import { DefaultQuickAccessFilterValue, IQuickAccessProvider, IQuickAccessProviderRunOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickAccess"; import { IQuickPick, IQuickPickItem, IQuickPickSeparator } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput"; import { IQuickInputService } from "@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service"; import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service"; import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { IChatAttachmentResolveService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service"; import { IMcpResource, IMcpResourceTemplate, IMcpServer } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes"; import { IMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes.service"; import { ChatContextPickAttachment } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/attachments/chatContextPickService"; export declare class McpResourcePickHelper extends Disposable { private readonly _mcpService; private readonly _fileService; private readonly _quickInputService; private readonly _notificationService; private readonly _chatAttachmentResolveService; private _resources; private _pickItemsStack; private _inDirectory; static sep(server: IMcpServer): IQuickPickSeparator; addCurrentMCPQuickPickItemLevel(server: IMcpServer, resources: (IMcpResource | IMcpResourceTemplate)[]): void; navigateBack(): boolean; static item(resource: IMcpResource | IMcpResourceTemplate): IQuickPickItem; hasServersWithResources: import("@codingame/monaco-vscode-api/vscode/vs/base/common/observable").IObservableWithChange; explicitServers?: IMcpServer[]; constructor(_mcpService: IMcpService, _fileService: IFileService, _quickInputService: IQuickInputService, _notificationService: INotificationService, _chatAttachmentResolveService: IChatAttachmentResolveService); /** * Navigate to a resource if it's a directory. * Returns true if the resource is a directory with children (navigation succeeded). * Returns false if the resource is a leaf file (no navigation). * When returning true, statefully updates the picker state to display directory contents. */ navigate(resource: IMcpResource | IMcpResourceTemplate, server: IMcpServer): Promise; toAttachment(resource: IMcpResource | IMcpResourceTemplate, server: IMcpServer): Promise | "noop"; checkIfDirectoryAndPopulate(resource: IMcpResource | IMcpResourceTemplate, server: IMcpServer): Promise; toURI(resource: IMcpResource | IMcpResourceTemplate): Promise; checkIfNestedResources: () => boolean; private _resourceToAttachment; private _resourceTemplateToAttachment; private _verifyUriIfNeeded; private _resourceTemplateToURI; private _promptForTemplateValue; private _isDirectoryResource; getPicks(token?: CancellationToken): IObservable<{ picks: Map; isBusy: boolean; }>; } export declare abstract class AbstractMcpResourceAccessPick { private readonly _scopeTo; private readonly _instantiationService; private readonly _editorService; protected readonly _chatWidgetService: IChatWidgetService; private readonly _viewsService; constructor(_scopeTo: IMcpServer | undefined, _instantiationService: IInstantiationService, _editorService: IEditorService, _chatWidgetService: IChatWidgetService, _viewsService: IViewsService); protected applyToPick(picker: IQuickPick, token: CancellationToken, runOptions?: IQuickAccessProviderRunOptions): DisposableStore; } export declare class McpResourceQuickPick extends AbstractMcpResourceAccessPick { private readonly _quickInputService; constructor(scopeTo: IMcpServer | undefined, instantiationService: IInstantiationService, editorService: IEditorService, chatWidgetService: IChatWidgetService, viewsService: IViewsService, _quickInputService: IQuickInputService); pick(token?: Readonly): Promise; } export declare class McpResourceQuickAccess extends AbstractMcpResourceAccessPick implements IQuickAccessProvider { static readonly PREFIX = "mcpr "; defaultFilterValue: DefaultQuickAccessFilterValue; constructor(instantiationService: IInstantiationService, editorService: IEditorService, chatWidgetService: IChatWidgetService, viewsService: IViewsService); provide(picker: IQuickPick, token: CancellationToken, runOptions?: IQuickAccessProviderRunOptions): IDisposable; }