/**
 * mcp-tools.ts — MCP 工具输入 Zod Schema
 *
 * 每个 MCP 工具的输入参数定义为 Zod Schema，既做运行时校验，
 * 又可通过 zodToJsonSchema() 自动生成 inputSchema 声明（消除双重维护）。
 *
 * 命名约定：`{ToolSuffix}Input`，如 `SearchInput` 对应 `autosnippet_search`。
 *
 * @module shared/schemas/mcp-tools
 */
import { z } from 'zod';
export declare const HealthInput: z.ZodObject<{}, z.core.$strip>;
export type HealthInput = z.infer<typeof HealthInput>;
export declare const SearchInput: z.ZodObject<{
    query: z.ZodString;
    mode: z.ZodDefault<z.ZodEnum<{
        auto: "auto";
        context: "context";
        keyword: "keyword";
        semantic: "semantic";
        bm25: "bm25";
    }>>;
    kind: z.ZodDefault<z.ZodEnum<{
        pattern: "pattern";
        rule: "rule";
        fact: "fact";
        all: "all";
    }>>;
    limit: z.ZodDefault<z.ZodNumber>;
    language: z.ZodOptional<z.ZodString>;
    sessionId: z.ZodOptional<z.ZodString>;
    sessionHistory: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, z.core.$strip>;
export type SearchInput = z.infer<typeof SearchInput>;
export declare const KnowledgeInput: z.ZodObject<{
    operation: z.ZodDefault<z.ZodEnum<{
        get: "get";
        list: "list";
        insights: "insights";
        confirm_usage: "confirm_usage";
    }>>;
    id: z.ZodOptional<z.ZodString>;
    kind: z.ZodOptional<z.ZodEnum<{
        pattern: "pattern";
        rule: "rule";
        fact: "fact";
        all: "all";
    }>>;
    language: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodString>;
    knowledgeType: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodString>;
    complexity: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodNumber>;
    usageType: z.ZodOptional<z.ZodEnum<{
        adoption: "adoption";
        application: "application";
    }>>;
    feedback: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type KnowledgeInput = z.infer<typeof KnowledgeInput>;
export declare const StructureInput: z.ZodObject<{
    operation: z.ZodDefault<z.ZodEnum<{
        metadata: "metadata";
        files: "files";
        targets: "targets";
    }>>;
    targetName: z.ZodOptional<z.ZodString>;
    includeSummary: z.ZodDefault<z.ZodBoolean>;
    includeContent: z.ZodDefault<z.ZodBoolean>;
    contentMaxLines: z.ZodDefault<z.ZodNumber>;
    maxFiles: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export type StructureInput = z.infer<typeof StructureInput>;
export declare const GraphInput: z.ZodObject<{
    operation: z.ZodEnum<{
        path: "path";
        stats: "stats";
        query: "query";
        impact: "impact";
    }>;
    nodeId: z.ZodOptional<z.ZodString>;
    nodeType: z.ZodDefault<z.ZodString>;
    fromId: z.ZodOptional<z.ZodString>;
    toId: z.ZodOptional<z.ZodString>;
    direction: z.ZodDefault<z.ZodEnum<{
        out: "out";
        in: "in";
        both: "both";
    }>>;
    maxDepth: z.ZodDefault<z.ZodNumber>;
    relation: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type GraphInput = z.infer<typeof GraphInput>;
export declare const CallContextInput: z.ZodObject<{
    methodName: z.ZodString;
    direction: z.ZodDefault<z.ZodEnum<{
        both: "both";
        impact: "impact";
        callers: "callers";
        callees: "callees";
    }>>;
    maxDepth: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export type CallContextInput = z.infer<typeof CallContextInput>;
export declare const GuardInput: z.ZodObject<{
    operation: z.ZodOptional<z.ZodEnum<{
        check: "check";
        review: "review";
        reverse_audit: "reverse_audit";
        coverage_matrix: "coverage_matrix";
        compliance_report: "compliance_report";
    }>>;
    files: z.ZodOptional<z.ZodArray<z.ZodString>>;
    code: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodString>;
    filePath: z.ZodOptional<z.ZodString>;
    maxFiles: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type GuardInput = z.infer<typeof GuardInput>;
/**
 * 单条知识条目字段定义（items 数组内部元素的严格 Schema）
 * 用于文档/类型推导，实际 items 使用 z.record() 宽容接收后在 handler 层校验。
 */
export declare const SubmitKnowledgeItemSchema: z.ZodObject<{
    title: z.ZodString;
    language: z.ZodString;
    content: z.ZodObject<{
        pattern: z.ZodOptional<z.ZodString>;
        markdown: z.ZodOptional<z.ZodString>;
        rationale: z.ZodString;
        steps: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
        codeChanges: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
        verification: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>;
    kind: z.ZodEnum<{
        pattern: "pattern";
        rule: "rule";
        fact: "fact";
    }>;
    doClause: z.ZodString;
    dontClause: z.ZodString;
    whenClause: z.ZodString;
    coreCode: z.ZodString;
    category: z.ZodString;
    trigger: z.ZodString;
    description: z.ZodString;
    headers: z.ZodArray<z.ZodString>;
    usageGuide: z.ZodString;
    knowledgeType: z.ZodString;
    reasoning: z.ZodObject<{
        whyStandard: z.ZodString;
        sources: z.ZodArray<z.ZodString>;
        confidence: z.ZodNumber;
        qualitySignals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        alternatives: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    topicHint: z.ZodOptional<z.ZodString>;
    complexity: z.ZodOptional<z.ZodEnum<{
        intermediate: "intermediate";
        advanced: "advanced";
        beginner: "beginner";
    }>>;
    scope: z.ZodOptional<z.ZodEnum<{
        universal: "universal";
        "project-specific": "project-specific";
        "target-specific": "target-specific";
    }>>;
    difficulty: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    constraints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    relations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    headerPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
    moduleName: z.ZodOptional<z.ZodString>;
    includeHeaders: z.ZodOptional<z.ZodBoolean>;
    source: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const SubmitKnowledgeInput: z.ZodObject<{
    items: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    target_name: z.ZodOptional<z.ZodString>;
    source: z.ZodOptional<z.ZodString>;
    skipConsolidation: z.ZodDefault<z.ZodBoolean>;
    skipDuplicateCheck: z.ZodDefault<z.ZodBoolean>;
    client_id: z.ZodOptional<z.ZodString>;
    dimensionId: z.ZodOptional<z.ZodString>;
    supersedes: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SubmitKnowledgeInput = z.infer<typeof SubmitKnowledgeInput>;
export declare const SkillInput: z.ZodObject<{
    operation: z.ZodEnum<{
        delete: "delete";
        create: "create";
        update: "update";
        load: "load";
        list: "list";
        suggest: "suggest";
    }>;
    name: z.ZodOptional<z.ZodString>;
    skillName: z.ZodOptional<z.ZodString>;
    section: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    content: z.ZodOptional<z.ZodString>;
    overwrite: z.ZodDefault<z.ZodBoolean>;
    createdBy: z.ZodDefault<z.ZodEnum<{
        manual: "manual";
        "external-ai": "external-ai";
        "system-ai": "system-ai";
        "user-ai": "user-ai";
    }>>;
}, z.core.$strip>;
export type SkillInput = z.infer<typeof SkillInput>;
export declare const BootstrapInput: z.ZodObject<{}, z.core.$strip>;
export type BootstrapInput = z.infer<typeof BootstrapInput>;
export declare const RescanInput: z.ZodObject<{
    dimensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
    reason: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type RescanInput = z.infer<typeof RescanInput>;
export declare const DimensionCompleteInput: z.ZodObject<{
    sessionId: z.ZodOptional<z.ZodString>;
    dimensionId: z.ZodString;
    submittedRecipeIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
    analysisText: z.ZodString;
    referencedFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    keyFindings: z.ZodOptional<z.ZodArray<z.ZodString>>;
    candidateCount: z.ZodOptional<z.ZodNumber>;
    crossDimensionHints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
export type DimensionCompleteInput = z.infer<typeof DimensionCompleteInput>;
export declare const WikiInput: z.ZodObject<{
    operation: z.ZodEnum<{
        plan: "plan";
        finalize: "finalize";
    }>;
    language: z.ZodOptional<z.ZodEnum<{
        en: "en";
        zh: "zh";
    }>>;
    sessionId: z.ZodOptional<z.ZodString>;
    articlesWritten: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type WikiInput = z.infer<typeof WikiInput>;
export declare const CapabilitiesInput: z.ZodObject<{}, z.core.$strip>;
export type CapabilitiesInput = z.infer<typeof CapabilitiesInput>;
export declare const TaskInput: z.ZodObject<{
    operation: z.ZodEnum<{
        create: "create";
        close: "close";
        prime: "prime";
        fail: "fail";
        record_decision: "record_decision";
    }>;
    title: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    id: z.ZodOptional<z.ZodString>;
    taskId: z.ZodOptional<z.ZodString>;
    reason: z.ZodOptional<z.ZodString>;
    rationale: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    userQuery: z.ZodOptional<z.ZodString>;
    activeFile: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type TaskInput = z.infer<typeof TaskInput>;
export declare const EnrichCandidatesInput: z.ZodObject<{
    candidateIds: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export type EnrichCandidatesInput = z.infer<typeof EnrichCandidatesInput>;
export declare const KnowledgeLifecycleInput: z.ZodObject<{
    id: z.ZodString;
    action: z.ZodEnum<{
        approve: "approve";
        publish: "publish";
        submit: "submit";
        reject: "reject";
        deprecate: "deprecate";
        reactivate: "reactivate";
        to_draft: "to_draft";
        fast_track: "fast_track";
    }>;
    reason: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type KnowledgeLifecycleInput = z.infer<typeof KnowledgeLifecycleInput>;
export declare const PanoramaInput: z.ZodObject<{
    operation: z.ZodDefault<z.ZodEnum<{
        overview: "overview";
        gaps: "gaps";
        module: "module";
        health: "health";
        enhancement_suggestions: "enhancement_suggestions";
        governance_cycle: "governance_cycle";
        decay_report: "decay_report";
        staging_check: "staging_check";
    }>>;
    module: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type PanoramaInput = z.infer<typeof PanoramaInput>;
export declare const EvolveInput: z.ZodObject<{
    decisions: z.ZodArray<z.ZodObject<{
        recipeId: z.ZodString;
        action: z.ZodEnum<{
            propose_evolution: "propose_evolution";
            confirm_deprecation: "confirm_deprecation";
            skip: "skip";
        }>;
        evidence: z.ZodOptional<z.ZodObject<{
            codeSnippet: z.ZodString;
            filePath: z.ZodString;
            type: z.ZodEnum<{
                enhance: "enhance";
                correction: "correction";
            }>;
            suggestedChanges: z.ZodString;
        }, z.core.$strip>>;
        reason: z.ZodOptional<z.ZodString>;
        skipReason: z.ZodOptional<z.ZodEnum<{
            still_valid: "still_valid";
            insufficient_info: "insufficient_info";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type EvolveInput = z.infer<typeof EvolveInput>;
export declare const TOOL_SCHEMAS: Record<string, z.ZodType>;
