import { ControllerType } from '@eggjs/tegg-types';
import type { ControllerMetadata, MiddlewareFunc, EggPrototypeName, MCPControllerParams } from '@eggjs/tegg-types';
import { MCPToolMeta } from './MCPToolMeta';
import { MCPResourceMeta } from './MCPResourceMeta';
import { MCPPromptMeta } from './MCPPromptMeta';
export declare class MCPControllerMeta implements ControllerMetadata {
    readonly protoName: EggPrototypeName;
    readonly controllerName: string;
    readonly className: string;
    readonly methods: never[];
    readonly middlewares: readonly MiddlewareFunc[];
    readonly type = ControllerType.MCP;
    readonly name?: string;
    readonly version: string;
    readonly needAcl: boolean;
    readonly aclCode?: string;
    readonly tools: MCPToolMeta[];
    readonly resources: MCPResourceMeta[];
    readonly prompts: MCPPromptMeta[];
    readonly timeout?: number;
    get id(): string;
    constructor(className: string, protoName: EggPrototypeName, controllerName: string, version: string, tools: MCPToolMeta[], resources: MCPResourceMeta[], prompts: MCPPromptMeta[], middlewares: MiddlewareFunc[], name?: string, needAcl?: boolean, aclCode?: string, meta?: MCPControllerParams);
    getMethodMiddlewares(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): readonly MiddlewareFunc[];
    hasMethodAcl(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): boolean;
    getMethodAcl(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): string | undefined;
}
