import { z } from 'zod'; import type { McpBlockDefinition, McpModuleConfig, McpRequestContext, McpServerAdapter } from './types.js'; import { type Catalog } from './catalog.js'; export type ToolEnv = { ctx: McpRequestContext; adapter: McpServerAdapter; config: McpModuleConfig; getCatalog: () => Promise; }; export type ToolAnnotations = { readOnlyHint: boolean; destructiveHint: boolean; idempotentHint: boolean; openWorldHint: boolean; }; export type McpTool = { name: string; title: string; description: string; input: z.ZodObject; annotations: ToolAnnotations; isEnabled?: (adapter: McpServerAdapter, config: McpModuleConfig) => boolean; execute: (env: ToolEnv, args: any) => Promise; }; export declare const tools: McpTool[]; export declare function createToolEnv(ctx: McpRequestContext, adapter: McpServerAdapter, config: McpModuleConfig, definitions: McpBlockDefinition[]): ToolEnv;