/**
 * SKILL.md loader — agentskills.io standard parser.
 *
 * Reads a SKILL.md file, splits frontmatter from body, parses YAML via the
 * `yaml` package (battle-tested), validates against `SkillManifestSchema`,
 * and returns a typed `ParsedSkillFile`.
 *
 * Constraints:
 *   - No new npm deps (uses `yaml` already in package.json).
 *   - Frontmatter delimiters: `---\n` ... `\n---\n`.
 *   - Body returned verbatim (markdown — no rendering).
 *   - Validation errors are typed (SkillMdParseError / SkillMdValidationError).
 *
 * Progressive disclosure tiers (per agentskills.io spec):
 *   - Discovery   (~100 tok) — name + description only
 *   - Pre-activate (~500 tok) — full frontmatter + body excerpt
 *   - Activate    — full body (≤8000 tok recommended)
 *
 * Spec reference: https://agentskills.io/specification
 * @see ADR-ECO-034 — skills TS↔MD coexistence
 * @public
 */
import { type SkillManifest, type VaubanSkillTier } from "./schema.js";
export interface ParsedSkillFile {
    manifest: SkillManifest;
    body: string;
    tier: VaubanSkillTier;
    /** Tokens (rough heuristic ~4 chars/token) for progressive disclosure. */
    bodyTokens: number;
}
/**
 * Load and parse a SKILL.md file from disk.
 *
 * @throws SkillMdParseError    when frontmatter delimiters are missing or YAML is invalid
 * @throws SkillMdValidationError when frontmatter fails Zod schema validation
 */
export declare function loadSkillMd(filePath: string): Promise<ParsedSkillFile>;
/**
 * Parse SKILL.md content from a string (in-memory). Useful for tests and
 * embedded skills.
 */
export declare function parseSkillMd(raw: string, source?: string): ParsedSkillFile;
/**
 * Produce the "discovery" projection (~100 tokens): name + description only.
 * Used by the catalogue / progressive disclosure layer to keep startup cost low.
 */
export declare function toDiscoveryEntry(parsed: ParsedSkillFile): {
    name: string;
    description: string;
    tier: VaubanSkillTier;
};
//# sourceMappingURL=loader.d.ts.map