/** * Manifest loading and validation */ import type { SkillManifest, ApproachEntry } from './types.js'; /** * Loads and validates the skill manifest from `.claude/grimoire.json` (router key). * * Migration: if grimoire.json has no `router` key but `.claude/skills-manifest.json` * exists, the manifest is merged into grimoire.json and the old file is deleted. * * @param projectDir - Absolute path to the project root * @returns Validated SkillManifest * @throws Error if config not found, invalid JSON, or schema validation fails */ export declare function loadManifest(projectDir: string): SkillManifest; /** * Validates a single raw approach entry. Returns null (never throws) when the * entry is not an object or lacks a non-empty `name`/`directive`; a `skill` * is kept only when it is a non-empty string. */ export declare function parseApproachEntry(raw: unknown): ApproachEntry | null; //# sourceMappingURL=manifest.d.ts.map