import { CancellationToken } from "../../../base/common/cancellation.js";
import { Event } from "../../../base/common/event.js";
import { IMarkdownString } from "../../../base/common/htmlContent.js";
import { IPager } from "@codingame/monaco-vscode-62190c26-af1c-5f7a-a364-e05a59cfb7c7-common/vscode/vs/base/common/paging";
import { URI } from "../../../base/common/uri.js";
import { IQueryOptions, IGalleryMcpServer, IGalleryMcpServerConfiguration, type DidUninstallMcpServerEvent, type IInstallableMcpServer, type ILocalMcpServer, type InstallMcpServerEvent, type InstallMcpServerResult, type InstallOptions, type McpServerConfigurationParseResult, type RegistryType, 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<IPager<IGalleryMcpServer>>;
    getMcpServersFromGallery(urls: string[]): Promise<IGalleryMcpServer[]>;
    getMcpServer(url: string): Promise<IGalleryMcpServer | undefined>;
    getMcpServerByName(name: string): Promise<IGalleryMcpServer | undefined>;
    getMcpServerConfiguration(extension: IGalleryMcpServer, token: CancellationToken): Promise<IGalleryMcpServerConfiguration>;
    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>;
    getMcpServerConfigurationFromManifest(manifest: IGalleryMcpServerConfiguration, packageType: RegistryType): McpServerConfigurationParseResult;
}
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;
}
