/** * Parser for CLEO-native task-anchored changeset files. * * A changeset file is a markdown file whose YAML frontmatter (between `---` * fences) carries structured fields validated by {@link ChangesetEntrySchema}. * The optional markdown body following the closing fence becomes the `notes` * field on the parsed entry. * * Used by: * - `scripts/lint-changesets.mjs` — CI gate that rejects malformed entries * - future `cleo release plan` aggregator (T9738 follow-up) — rolls up * entries into release manifests * * @epic T9738 * @task T9738 */ import { type ChangesetEntry } from '@cleocode/contracts'; /** * Parse a single changeset file at `path` into a validated {@link ChangesetEntry}. * * @param path Absolute or process-relative path to a `.md` changeset file. * @throws {Error} On any of: missing frontmatter fence, malformed YAML, or * schema violation. Error messages include `:` context where * determinable, plus the offending field name from the Zod issue path. */ export declare function parseChangesetFile(path: string): ChangesetEntry; /** * Parse every changeset file under `dir`, returning the validated entries. * * Excludes `README.md` (documentation, not an entry) and any non-`.md` file. * Returns entries in deterministic alphabetical order by filename so callers * (lint, release plan) emit stable output. * * @throws Re-throws the first schema violation encountered. Use the lint * script for batch validation that surfaces all errors at once. */ export declare function parseChangesetDir(dir: string): ChangesetEntry[]; //# sourceMappingURL=parser.d.ts.map