import type { McpExecutionContext, ToolAnnotations, ToolCallResult } from '@nest-mcp/common'; import type { ZodType } from 'zod'; import { McpRegistryService } from '../discovery/registry.service'; export interface DynamicToolConfig { name: string; description: string; parameters?: ZodType; inputSchema?: Record; outputSchema?: ZodType; /** Raw JSON schema for output — used when no Zod outputSchema is available (e.g. gateway-proxied tools). */ rawOutputSchema?: Record; annotations?: ToolAnnotations; handler: (args: Record, ctx: McpExecutionContext) => Promise; scopes?: string[]; roles?: string[]; isPublic?: boolean; } export declare class McpToolBuilder { private readonly registry; private readonly logger; constructor(registry: McpRegistryService); register(config: DynamicToolConfig): void; unregister(name: string): boolean; } //# sourceMappingURL=tool-builder.service.d.ts.map