import type { z } from 'zod' export interface MarketMcpToolResult { [key: string]: unknown content: Array<{ type: 'text'; text: string } | { type: 'image'; data: string; mimeType: string }> structuredContent?: Record } interface MarketMcpToolAnnotations { readOnlyHint?: boolean destructiveHint?: boolean idempotentHint?: boolean openWorldHint?: boolean } interface MarketMcpToolConfig { title?: string description?: string inputSchema?: Input annotations?: MarketMcpToolAnnotations } type MarketMcpToolHandler = Input extends z.ZodType ? (input: z.output) => Promise : () => Promise export interface MarketMcpServer { registerTool( name: string, config: MarketMcpToolConfig, handler: MarketMcpToolHandler, ): unknown } export interface MarketMcpCapabilities { generate?: boolean agent?: boolean } export interface MarketMcpOptions { fetch?: typeof globalThis.fetch capabilities?: MarketMcpCapabilities }