import { type Frontmatter } from './types.js';
export interface ParseResult {
    readonly frontmatter: Frontmatter;
    readonly body: string;
}
export declare class FrontmatterError extends Error {
    readonly cause?: unknown | undefined;
    readonly issues?: readonly {
        path: string;
        message: string;
    }[] | undefined;
    constructor(message: string, cause?: unknown | undefined, issues?: readonly {
        path: string;
        message: string;
    }[] | undefined);
}
/**
 * 从完整 markdown 文件内容解析 frontmatter + body。
 * 严格模式：
 *   - 没 `---\n...\n---\n` 块 → throw
 *   - YAML 解析失败 → throw
 *   - zod 校验失败 → throw（issues 字段带详细路径）
 */
export declare function parseFrontmatter(content: string): ParseResult;
/**
 * 宽松解析：失败时返 null + 错误，不抛。
 * 用途：lint 扫描整个 wiki 时，单页坏不该终止整个 lint。
 */
export declare function tryParseFrontmatter(content: string): {
    ok: true;
    value: ParseResult;
} | {
    ok: false;
    error: FrontmatterError;
};
/**
 * Frontmatter + body → 完整 markdown 文件内容。
 *
 * - YAML 输出走 yaml lib 默认行为（块式、整齐排版、字符串可选引号）
 * - body 末尾保证一个换行（POSIX 文件尾约定）
 * - 校验过 frontmatter 才能进来——这里不再校验，调用方传合法对象
 */
export declare function serializeFrontmatter(frontmatter: Frontmatter, body: string): string;
/**
 * 校验 frontmatter 对象（不需要先序列化）。
 * 用于：内存里组装 page 后写盘前快速检查。
 */
export declare function validateFrontmatter(fm: unknown): {
    ok: true;
    value: Frontmatter;
} | {
    ok: false;
    error: FrontmatterError;
};
//# sourceMappingURL=frontmatter.d.ts.map