/**
 * MCP Tools for MyContext CLI
 *
 * Custom tools that extend Claude Agent SDK capabilities
 * with MyContext-specific functionality.
 */
import { z } from "zod";
/**
 * Analyze React component structure and dependencies
 */
export declare const analyzeComponentTool: {
    name: string;
    description: string;
    inputSchema: {
        filePath: z.ZodString;
        checkTypes: z.ZodOptional<z.ZodBoolean>;
        checkImports: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        filePath: string;
        checkTypes?: boolean | undefined;
        checkImports?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Validate PRD structure and completeness
 */
export declare const validatePRDTool: {
    name: string;
    description: string;
    inputSchema: {
        prdPath: z.ZodString;
    };
    handler: (args: {
        prdPath: string;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Check TypeScript types in generated code
 */
export declare const checkTypesTool: {
    name: string;
    description: string;
    inputSchema: {
        targetPath: z.ZodString;
        strict: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        targetPath: string;
        strict?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Generate component documentation
 */
export declare const generateDocsTool: {
    name: string;
    description: string;
    inputSchema: {
        componentPath: z.ZodString;
        outputPath: z.ZodOptional<z.ZodString>;
    };
    handler: (args: {
        componentPath: string;
        outputPath?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Detect existing validated components in the project
 */
export declare const detectExistingComponentsTool: {
    name: string;
    description: string;
    inputSchema: {
        projectPath: z.ZodString;
        includeValidation: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        includeValidation?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Map components to routes intelligently
 */
export declare const mapComponentsToRoutesTool: {
    name: string;
    description: string;
    inputSchema: {
        components: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            group: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            name: string;
            group: string;
        }, {
            path: string;
            name: string;
            group: string;
        }>, "many">;
        prdContext: z.ZodOptional<z.ZodString>;
        architectureType: z.ZodEnum<["nextjs-app-router", "nextjs-pages", "react-spa"]>;
    };
    handler: (args: {
        components: {
            path: string;
            name: string;
            group: string;
        }[];
        architectureType: "nextjs-app-router" | "react-spa" | "nextjs-pages";
        prdContext?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Generate scaffolding for existing components
 */
export declare const generateScaffoldingTool: {
    name: string;
    description: string;
    inputSchema: {
        componentMappings: z.ZodAny;
        projectPath: z.ZodString;
        generateRoutes: z.ZodDefault<z.ZodBoolean>;
        generateActions: z.ZodDefault<z.ZodBoolean>;
        generateHooks: z.ZodDefault<z.ZodBoolean>;
        generateLayouts: z.ZodDefault<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        generateRoutes: boolean;
        generateActions: boolean;
        generateHooks: boolean;
        generateLayouts: boolean;
        componentMappings?: any;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
};
/**
 * Get all available MCP tools
 */
export declare function getAllMCPTools(): ({
    name: string;
    description: string;
    inputSchema: {
        filePath: z.ZodString;
        checkTypes: z.ZodOptional<z.ZodBoolean>;
        checkImports: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        filePath: string;
        checkTypes?: boolean | undefined;
        checkImports?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        prdPath: z.ZodString;
    };
    handler: (args: {
        prdPath: string;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        targetPath: z.ZodString;
        strict: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        targetPath: string;
        strict?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        componentPath: z.ZodString;
        outputPath: z.ZodOptional<z.ZodString>;
    };
    handler: (args: {
        componentPath: string;
        outputPath?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        projectPath: z.ZodString;
        includeValidation: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        includeValidation?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        components: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            group: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            name: string;
            group: string;
        }, {
            path: string;
            name: string;
            group: string;
        }>, "many">;
        prdContext: z.ZodOptional<z.ZodString>;
        architectureType: z.ZodEnum<["nextjs-app-router", "nextjs-pages", "react-spa"]>;
    };
    handler: (args: {
        components: {
            path: string;
            name: string;
            group: string;
        }[];
        architectureType: "nextjs-app-router" | "react-spa" | "nextjs-pages";
        prdContext?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        componentMappings: z.ZodAny;
        projectPath: z.ZodString;
        generateRoutes: z.ZodDefault<z.ZodBoolean>;
        generateActions: z.ZodDefault<z.ZodBoolean>;
        generateHooks: z.ZodDefault<z.ZodBoolean>;
        generateLayouts: z.ZodDefault<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        generateRoutes: boolean;
        generateActions: boolean;
        generateHooks: boolean;
        generateLayouts: boolean;
        componentMappings?: any;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
})[];
/**
 * Get MCP tools by name
 */
export declare function getMCPToolByName(name: string): {
    name: string;
    description: string;
    inputSchema: {
        filePath: z.ZodString;
        checkTypes: z.ZodOptional<z.ZodBoolean>;
        checkImports: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        filePath: string;
        checkTypes?: boolean | undefined;
        checkImports?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        prdPath: z.ZodString;
    };
    handler: (args: {
        prdPath: string;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        targetPath: z.ZodString;
        strict: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        targetPath: string;
        strict?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        componentPath: z.ZodString;
        outputPath: z.ZodOptional<z.ZodString>;
    };
    handler: (args: {
        componentPath: string;
        outputPath?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        projectPath: z.ZodString;
        includeValidation: z.ZodOptional<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        includeValidation?: boolean | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        components: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            group: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            name: string;
            group: string;
        }, {
            path: string;
            name: string;
            group: string;
        }>, "many">;
        prdContext: z.ZodOptional<z.ZodString>;
        architectureType: z.ZodEnum<["nextjs-app-router", "nextjs-pages", "react-spa"]>;
    };
    handler: (args: {
        components: {
            path: string;
            name: string;
            group: string;
        }[];
        architectureType: "nextjs-app-router" | "react-spa" | "nextjs-pages";
        prdContext?: string | undefined;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | {
    name: string;
    description: string;
    inputSchema: {
        componentMappings: z.ZodAny;
        projectPath: z.ZodString;
        generateRoutes: z.ZodDefault<z.ZodBoolean>;
        generateActions: z.ZodDefault<z.ZodBoolean>;
        generateHooks: z.ZodDefault<z.ZodBoolean>;
        generateLayouts: z.ZodDefault<z.ZodBoolean>;
    };
    handler: (args: {
        projectPath: string;
        generateRoutes: boolean;
        generateActions: boolean;
        generateHooks: boolean;
        generateLayouts: boolean;
        componentMappings?: any;
    }, extra: unknown) => Promise<import("@modelcontextprotocol/sdk/types").CallToolResult>;
} | undefined;
//# sourceMappingURL=mcpTools.d.ts.map