/**
 * @module        core/wiki/types
 * @description   Wiki page 数据模型 + zod schemas
 *
 * @layer         core
 *
 * doc-28 §6 Page Schema 的运行时表示。Frontmatter 用 zod 严格校验——
 * 因为 wiki page 来自 LLM 写入，松散 schema 会让格式漂移失控。
 *
 * 类型分流：5 类 page（module/concept/decision/lesson/source）共享 Base 字段，
 * 每类有 type-specific 加字段。Frontmatter 类型用 discriminated union。
 */
import { z } from 'zod';
export declare const PageTypeSchema: z.ZodEnum<["module", "concept", "decision", "lesson", "source"]>;
export type PageType = z.infer<typeof PageTypeSchema>;
export declare const StatusSchema: z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>;
export type PageStatus = z.infer<typeof StatusSchema>;
export declare const GeneratedSchema: z.ZodEnum<["auto", "manual", "semi"]>;
export type Generated = z.infer<typeof GeneratedSchema>;
export declare const SourceRefSchema: z.ZodUnion<[z.ZodObject<{
    path: z.ZodString;
    hash: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    path: string;
    hash?: string | undefined;
}, {
    path: string;
    hash?: string | undefined;
}>, z.ZodObject<{
    card: z.ZodString;
}, "strip", z.ZodTypeAny, {
    card: string;
}, {
    card: string;
}>, z.ZodObject<{
    commit: z.ZodString;
}, "strip", z.ZodTypeAny, {
    commit: string;
}, {
    commit: string;
}>, z.ZodEffects<z.ZodString, {
    path: string;
}, string>]>;
export type SourceRef = z.infer<typeof SourceRefSchema>;
export declare const WikilinkSchema: z.ZodString;
export type Wikilink = z.infer<typeof WikilinkSchema>;
export declare const ModuleFrontmatterSchema: z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"module">;
    module_path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "module";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    module_path: string;
}, {
    created: string;
    title: string;
    type: "module";
    updated: string;
    module_path: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
}>;
export declare const ConceptFrontmatterSchema: z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"concept">;
    complexity: z.ZodOptional<z.ZodEnum<["basic", "intermediate", "advanced"]>>;
    domain: z.ZodOptional<z.ZodString>;
    aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "concept";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    complexity?: "basic" | "intermediate" | "advanced" | undefined;
    domain?: string | undefined;
    aliases?: string[] | undefined;
}, {
    created: string;
    title: string;
    type: "concept";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    complexity?: "basic" | "intermediate" | "advanced" | undefined;
    domain?: string | undefined;
    aliases?: string[] | undefined;
}>;
export declare const DecisionFrontmatterSchema: z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"decision">;
    version: z.ZodOptional<z.ZodString>;
    superseded_by: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "decision";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    version?: string | undefined;
    superseded_by?: string | undefined;
}, {
    created: string;
    title: string;
    type: "decision";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    version?: string | undefined;
    superseded_by?: string | undefined;
}>;
export declare const LessonFrontmatterSchema: z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"lesson">;
    severity: z.ZodDefault<z.ZodEnum<["critical", "major", "minor"]>>;
    seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "lesson";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    severity: "critical" | "major" | "minor";
    seen_in_cards?: string[] | undefined;
}, {
    created: string;
    title: string;
    type: "lesson";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    severity?: "critical" | "major" | "minor" | undefined;
    seen_in_cards?: string[] | undefined;
}>;
export declare const SourceFrontmatterSchema: z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"source">;
    source_type: z.ZodDefault<z.ZodEnum<["pdf", "article", "image", "transcript", "data", "note", "unknown"]>>;
    original_path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "source";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    source_type: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note";
    original_path: string;
}, {
    created: string;
    title: string;
    type: "source";
    updated: string;
    original_path: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    source_type?: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note" | undefined;
}>;
export declare const FrontmatterSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"module">;
    module_path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "module";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    module_path: string;
}, {
    created: string;
    title: string;
    type: "module";
    updated: string;
    module_path: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
}>, z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"concept">;
    complexity: z.ZodOptional<z.ZodEnum<["basic", "intermediate", "advanced"]>>;
    domain: z.ZodOptional<z.ZodString>;
    aliases: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "concept";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    complexity?: "basic" | "intermediate" | "advanced" | undefined;
    domain?: string | undefined;
    aliases?: string[] | undefined;
}, {
    created: string;
    title: string;
    type: "concept";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    complexity?: "basic" | "intermediate" | "advanced" | undefined;
    domain?: string | undefined;
    aliases?: string[] | undefined;
}>, z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"decision">;
    version: z.ZodOptional<z.ZodString>;
    superseded_by: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "decision";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    version?: string | undefined;
    superseded_by?: string | undefined;
}, {
    created: string;
    title: string;
    type: "decision";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    version?: string | undefined;
    superseded_by?: string | undefined;
}>, z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"lesson">;
    severity: z.ZodDefault<z.ZodEnum<["critical", "major", "minor"]>>;
    seen_in_cards: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "lesson";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    severity: "critical" | "major" | "minor";
    seen_in_cards?: string[] | undefined;
}, {
    created: string;
    title: string;
    type: "lesson";
    updated: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    severity?: "critical" | "major" | "minor" | undefined;
    seen_in_cards?: string[] | undefined;
}>, z.ZodObject<{
    title: z.ZodString;
    created: z.ZodString;
    updated: z.ZodString;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    status: z.ZodDefault<z.ZodEnum<["seed", "developing", "mature", "evergreen", "stale"]>>;
    related: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    sources: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodObject<{
        path: z.ZodString;
        hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        hash?: string | undefined;
    }, {
        path: string;
        hash?: string | undefined;
    }>, z.ZodObject<{
        card: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        card: string;
    }, {
        card: string;
    }>, z.ZodObject<{
        commit: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        commit: string;
    }, {
        commit: string;
    }>, z.ZodEffects<z.ZodString, {
        path: string;
    }, string>]>, "many">>;
    generated: z.ZodDefault<z.ZodEnum<["auto", "manual", "semi"]>>;
} & {
    type: z.ZodLiteral<"source">;
    source_type: z.ZodDefault<z.ZodEnum<["pdf", "article", "image", "transcript", "data", "note", "unknown"]>>;
    original_path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    created: string;
    status: "seed" | "developing" | "mature" | "evergreen" | "stale";
    title: string;
    type: "source";
    updated: string;
    tags: string[];
    related: string[];
    sources: ({
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    } | {
        path: string;
    })[];
    generated: "auto" | "manual" | "semi";
    source_type: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note";
    original_path: string;
}, {
    created: string;
    title: string;
    type: "source";
    updated: string;
    original_path: string;
    status?: "seed" | "developing" | "mature" | "evergreen" | "stale" | undefined;
    tags?: string[] | undefined;
    related?: string[] | undefined;
    sources?: (string | {
        path: string;
        hash?: string | undefined;
    } | {
        card: string;
    } | {
        commit: string;
    })[] | undefined;
    generated?: "auto" | "manual" | "semi" | undefined;
    source_type?: "unknown" | "data" | "pdf" | "article" | "image" | "transcript" | "note" | undefined;
}>]>;
export type ModuleFrontmatter = z.infer<typeof ModuleFrontmatterSchema>;
export type ConceptFrontmatter = z.infer<typeof ConceptFrontmatterSchema>;
export type DecisionFrontmatter = z.infer<typeof DecisionFrontmatterSchema>;
export type LessonFrontmatter = z.infer<typeof LessonFrontmatterSchema>;
export type SourceFrontmatter = z.infer<typeof SourceFrontmatterSchema>;
export type Frontmatter = z.infer<typeof FrontmatterSchema>;
export interface Page {
    /** Stable id: `<type>s/<title>` —— 用作 frontmatter related / 跨页引用 */
    readonly pageId: string;
    /** Absolute file path */
    readonly filePath: string;
    readonly frontmatter: Frontmatter;
    /** Body markdown after frontmatter (no leading/trailing whitespace stripping besides YAML block) */
    readonly body: string;
}
export declare const ManifestEntrySchema: z.ZodObject<{
    /** 'code' | 'doc' | 'pdf' | 'article' | 'image' | 'transcript' | 'readme' | 'changelog' | ... */
    type: z.ZodString;
    /** sha256 hex (64 chars) */
    sha256: z.ZodString;
    /** ISO 8601 timestamp */
    ingested_at: z.ZodString;
    /** Page ids this source contributed to */
    pages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: string;
    sha256: string;
    ingested_at: string;
    pages: string[];
}, {
    type: string;
    sha256: string;
    ingested_at: string;
    pages?: string[] | undefined;
}>;
export type ManifestEntry = z.infer<typeof ManifestEntrySchema>;
export declare const ManifestSchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    updated_at: z.ZodString;
    /** Key = source path relative to repo root (e.g. "src/X.ts" or ".raw/pdfs/y.pdf") */
    sources: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        /** 'code' | 'doc' | 'pdf' | 'article' | 'image' | 'transcript' | 'readme' | 'changelog' | ... */
        type: z.ZodString;
        /** sha256 hex (64 chars) */
        sha256: z.ZodString;
        /** ISO 8601 timestamp */
        ingested_at: z.ZodString;
        /** Page ids this source contributed to */
        pages: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: string;
        sha256: string;
        ingested_at: string;
        pages: string[];
    }, {
        type: string;
        sha256: string;
        ingested_at: string;
        pages?: string[] | undefined;
    }>>>;
}, "strip", z.ZodTypeAny, {
    sources: Record<string, {
        type: string;
        sha256: string;
        ingested_at: string;
        pages: string[];
    }>;
    version: 1;
    updated_at: string;
}, {
    version: 1;
    updated_at: string;
    sources?: Record<string, {
        type: string;
        sha256: string;
        ingested_at: string;
        pages?: string[] | undefined;
    }> | undefined;
}>;
export type Manifest = z.infer<typeof ManifestSchema>;
export declare const EMPTY_MANIFEST: Manifest;
export interface SourceDiff {
    /** New sources (not in manifest) */
    readonly added: string[];
    /** Sources whose hash changed since last ingest */
    readonly changed: string[];
    /** Sources still in manifest but no longer in glob results */
    readonly removed: string[];
    /** Sources with unchanged hash */
    readonly unchanged: string[];
}
//# sourceMappingURL=types.d.ts.map