import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { type Customization, type RootConfigState } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/protocol/state"; import { AgentCustomization } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/state/sessionState"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IMcpServerConfiguration } from "@codingame/monaco-vscode-api/vscode/vs/platform/mcp/common/mcpPlatformTypes"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IAgentHostMcpServer } from "@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostMcpServer"; import { IAgentHostCustomizationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.service"; export declare class NullAgentHostCustomizationService implements IAgentHostCustomizationService { readonly _serviceBrand: undefined; readonly onDidChangeCustomAgents: Event; readonly onDidChangeCustomizations: Event; getCustomAgents(_sessionResource: URI): readonly AgentCustomization[]; getCustomizations(_sessionResource: URI): readonly Customization[]; getWorkingDirectory(sessionResource: URI): string | undefined; getMcpServers(_sessionResource: URI): readonly IAgentHostMcpServer[]; addMcpServer(_sessionResource: URI, _name: string, _config: IMcpServerConfiguration): void; authenticateMcpServer(_sessionResource: URI, _serverId: string): Promise; } export interface IAgentHostCustomizationTarget { readonly customizations: readonly Customization[]; readonly workingDirectory?: string; readonly logOutputChannelId?: string; readonly rootConfig?: RootConfigState; authenticate(request: { resource: string; scopes?: readonly string[]; token: string; }): Promise; setCustomizationEnabled(rawId: string, enabled: boolean): void; setRootConfigValue(property: string, value: unknown): void; } export declare abstract class AbstractAgentHostCustomizationService extends Disposable implements IAgentHostCustomizationService { protected readonly _instantiationService: IInstantiationService; protected readonly _logService: ILogService; readonly _serviceBrand: undefined; private readonly _onDidChangeCustomAgents; private readonly _onDidChangeCustomizations; readonly onDidChangeCustomAgents: Event; readonly onDidChangeCustomizations: Event; protected constructor(_instantiationService: IInstantiationService, _logService: ILogService); protected abstract _resolveTarget(sessionResource: URI): IAgentHostCustomizationTarget | undefined; getCustomAgents(sessionResource: URI): readonly AgentCustomization[]; getCustomizations(sessionResource: URI): readonly Customization[]; getWorkingDirectory(sessionResource: URI): string | undefined; getMcpServers(sessionResource: URI): readonly IAgentHostMcpServer[]; addMcpServer(sessionResource: URI, name: string, config: IMcpServerConfiguration): void; authenticateMcpServer(sessionResource: URI, serverId: string): Promise; protected _fireCustomAgentsChanged(): void; protected _fireCustomizationsChanged(): void; private _flattenMcpServers; private _findMcpServer; protected _scopedMcpServerId(sessionResource: URI, rawId: string): string; private _isScopedMcpServerIdForRawId; }