import { MCPPromptParams, MCPResourceParams, MCPToolParams, EggProtoImplClass, MCPControllerParams } from '@eggjs/tegg-types';
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
export interface ToolArgsSchemaDetail {
    argsSchema: Parameters<McpServer['tool']>['2'];
    index: number;
}
export interface PromptArgsSchemaDetail {
    argsSchema: Parameters<McpServer['prompt']>['2'];
    index: number;
}
export declare class MCPInfoUtil {
    static setMCPName(name: string, clazz: EggProtoImplClass): void;
    static getMCPName(clazz: EggProtoImplClass): string | undefined;
    static setMCPVersion(version: string, clazz: EggProtoImplClass): void;
    static getMCPVersion(clazz: EggProtoImplClass): string | undefined;
    static setMCPControllerParams(params: MCPControllerParams | undefined, clazz: EggProtoImplClass): void;
    static getMCPControllerParams(clazz: EggProtoImplClass): MCPControllerParams | undefined;
    static setMCPResource(clazz: EggProtoImplClass, methodName: string): void;
    static getMCPResource(clazz: EggProtoImplClass): string[];
    static setMCPResourceParams(params: MCPResourceParams & {
        mcpName?: string;
    }, clazz: EggProtoImplClass, resourceName: string): void;
    static getMCPResourceParams(clazz: EggProtoImplClass, resourceName: string): MCPResourceParams & {
        mcpName?: string;
    } | undefined;
    static setMCPTool(clazz: EggProtoImplClass, methodName: string): void;
    static getMCPTool(clazz: EggProtoImplClass): string[];
    static getMCPToolParams(clazz: EggProtoImplClass, resourceName: string): MCPToolParams & {
        mcpName?: string;
    } | undefined;
    static setMCPToolParams(params: MCPToolParams & {
        mcpName?: string;
    }, clazz: EggProtoImplClass, resourceName: string): void;
    static setMCPPrompt(clazz: EggProtoImplClass, methodName: string): void;
    static getMCPPrompt(clazz: EggProtoImplClass): string[];
    static setMCPPromptParams(params: MCPPromptParams & {
        mcpName?: string;
    }, clazz: EggProtoImplClass, resourceName: string): void;
    static getMCPPromptParams(clazz: EggProtoImplClass, resourceName: string): MCPPromptParams & {
        mcpName?: string;
    } | undefined;
    static setMCPToolArgsInArgs(detail: ToolArgsSchemaDetail, clazz: EggProtoImplClass, methodName: string): void;
    static getMCPToolArgsIndex(clazz: EggProtoImplClass, methodName: string): ToolArgsSchemaDetail | undefined;
    static setMCPExtra(index: number, clazz: EggProtoImplClass, methodName: string): void;
    static getMCPExtra(clazz: EggProtoImplClass, methodName: string): number | undefined;
    static setMCPPromptArgsInArgs(detail: PromptArgsSchemaDetail, clazz: EggProtoImplClass, methodName: string): void;
    static getMCPPromptArgsIndex(clazz: EggProtoImplClass, methodName: string): PromptArgsSchemaDetail | undefined;
}
