import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IAgentHostResourceService } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostResourceService.service"; import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service"; import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions"; import { IChatInputNotificationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.service"; /** * Bridges {@link IAgentHostResourceService} to the chat input notification * banner. While there are pending permission requests, the oldest one is * shown above the chat input with three actions: * * - **Deny** — reject the request. * - **Allow** — approve the request and remember it in memory until the * connection closes or the window is reloaded. * - **Always allow** — approve and persist into `chat.agentHost.localFilePermissions`. */ export declare class AgentHostPermissionUiContribution extends Disposable implements IWorkbenchContribution { private readonly _permissionService; private readonly _chatInputNotificationService; private readonly _labelService; static readonly ID = "workbench.contrib.agentHostPermissionUi"; /** Stable id used in {@link IChatInputNotification} so updates replace in place. */ private static readonly NOTIFICATION_ID; private _lastRequestId; constructor(_permissionService: IAgentHostResourceService, _chatInputNotificationService: IChatInputNotificationService, _labelService: ILabelService); private _render; private _buildNotification; private _resolveHostName; }