import { type KeyFilesUsage } from "./core/keyfiles.js"; import type { RuleSeverity } from "./core/types.js"; /** One spec still using `keyFiles`, relative to the directory searched. */ export interface DeprecatedKeyFilesFinding extends KeyFilesUsage { readonly path: string; } /** * The detector: of the given instruction specs, the ones still using * `keyFiles`, sorted by path. The file walk and the reads are the caller's * (the composition root), so this stays free of I/O. */ export declare function findDeprecatedKeyFiles(io: { /** Instruction specs (`**\/*.md.spec.ts`, the glob `compile` uses), relative paths. */ readonly specPaths: readonly string[]; readonly read: (path: string) => string; }): readonly DeprecatedKeyFilesFinding[]; /** * `lint`'s side of the rule. Runs ONCE over the repository, like the * instruction-weight ratchet: a nested bundle's spec would otherwise be * reported again by every bundle that encloses it. Warning by default — a * deprecation that gated would turn a consumer's CI red on upgrade, which the * one-major window exists to prevent. */ export declare function checkDeprecatedKeyFiles(opts: { /** Whether the rule can fire anywhere; `false` skips the walk. */ readonly severity: RuleSeverity; /** * The severity at one spec's path — `.vigilesrc.json#overrides` applied. * Omitted: `severity` everywhere. */ readonly severityAt?: (path: string) => RuleSeverity; /** Called only when the rule is on. */ readonly find: () => readonly DeprecatedKeyFilesFinding[]; readonly silent: boolean; /** One per finding, with the spec's path relative to `root`. */ readonly annotate: (level: "error" | "warning", message: string, path: string) => void; }): { readonly issues: number; readonly errors: number; }; //# sourceMappingURL=deprecated-key-files.d.ts.map