import type { EffectiveRule } from './rule-pre-read-types.js'; /** Where the curated rule sets live, or why they could not be found. */ export type CuratedRoot = { readonly ok: true; readonly path: string; } | { readonly ok: false; readonly reason: string; }; /** One rule file, parsed into its declared patterns and its body. */ type CuratedRuleFile = { readonly globs: readonly string[]; readonly body: string; }; /** * The curated rule root, resolved through the bundled `ecc-universal` * dependency. The dependency ships the rules, so there is nothing to fetch. */ export declare function resolveCuratedRulesRoot(): CuratedRoot; /** * Split a rule file into its declared patterns and its body. * * A file with no frontmatter has no declared patterns, which means it governs * every file — that is how the `common/` layer is written. */ export declare function splitFrontmatter(text: string): CuratedRuleFile; /** * The curated rules that govern a file set. * * Returns the rules AND the reasons the read could not produce them, so a * missing curated layer is never mistaken for "there are no curated rules". */ export declare function readCuratedRules(files: readonly string[], root: CuratedRoot): { rules: readonly EffectiveRule[]; reasons: readonly string[]; }; export {};