import { CancellationToken } from "../../../base/common/cancellation.js";
import { Event } from "../../../base/common/event.js";
import { IMarkdownString } from "../../../base/common/htmlContent.js";
import { URI } from "../../../base/common/uri.js";
import { IQueryOptions, IGalleryMcpServer, IMcpServerManifest, type DidUninstallMcpServerEvent, type IInstallableMcpServer, type ILocalMcpServer, type InstallMcpServerEvent, type InstallMcpServerResult, type InstallOptions, type UninstallMcpServerEvent, type UninstallOptions } from "@codingame/monaco-vscode-dc3fa21d-a483-5b99-a7ab-173235644a34-common/vscode/vs/platform/mcp/common/mcpManagement";
export declare const IMcpGalleryService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<IMcpGalleryService>;
export interface IMcpGalleryService {
    readonly _serviceBrand: undefined;
    isEnabled(): boolean;
    query(options?: IQueryOptions, token?: CancellationToken): Promise<IGalleryMcpServer[]>;
    getMcpServers(servers: string[]): Promise<IGalleryMcpServer[]>;
    getManifest(extension: IGalleryMcpServer, token: CancellationToken): Promise<IMcpServerManifest>;
    getReadme(extension: IGalleryMcpServer, token: CancellationToken): Promise<string>;
}
export declare const IMcpManagementService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<IMcpManagementService>;
export interface IMcpManagementService {
    readonly _serviceBrand: undefined;
    readonly onInstallMcpServer: Event<InstallMcpServerEvent>;
    readonly onDidInstallMcpServers: Event<readonly InstallMcpServerResult[]>;
    readonly onDidUpdateMcpServers: Event<readonly InstallMcpServerResult[]>;
    readonly onUninstallMcpServer: Event<UninstallMcpServerEvent>;
    readonly onDidUninstallMcpServer: Event<DidUninstallMcpServerEvent>;
    getInstalled(mcpResource?: URI): Promise<ILocalMcpServer[]>;
    canInstall(server: IGalleryMcpServer | IInstallableMcpServer): true | IMarkdownString;
    install(server: IInstallableMcpServer, options?: InstallOptions): Promise<ILocalMcpServer>;
    installFromGallery(server: IGalleryMcpServer, options?: InstallOptions): Promise<ILocalMcpServer>;
    updateMetadata(local: ILocalMcpServer, server: IGalleryMcpServer, profileLocation?: URI): Promise<ILocalMcpServer>;
    uninstall(server: ILocalMcpServer, options?: UninstallOptions): Promise<void>;
}
export declare const IAllowedMcpServersService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<IAllowedMcpServersService>;
export interface IAllowedMcpServersService {
    readonly _serviceBrand: undefined;
    readonly onDidChangeAllowedMcpServers: Event<void>;
    isAllowed(mcpServer: IGalleryMcpServer | ILocalMcpServer | IInstallableMcpServer): true | IMarkdownString;
}
