/**
 * Skill discovery, validation, and loading.
 *
 * Skills are markdown files (SKILL.md) with YAML frontmatter (name, description).
 * Discovered from global, project-local, and explicit paths. Validates names
 * (lowercase, hyphens, matching parent dir) and descriptions per the AgentController Skills spec.
 * Also provides `parseSkillBlock` for extracting skill invocations from user messages.
 */
import { type RuntimeSkillSource } from '../../contracts/agent-resources.js';
import type { ResourceDiagnostic } from './diagnostics.js';
import { parseSkillBlock, type ParsedSkillBlock } from './skill-block.js';
export { parseSkillBlock };
/** Fill in `location` and `content` on a parsed skill block by looking up the skill on disk. */
export declare function hydrateParsedSkillBlock(skillBlock: ParsedSkillBlock, skills: readonly Skill[]): ParsedSkillBlock;
export interface SkillFrontmatter {
    name?: string;
    description?: string;
    'disable-model-invocation'?: boolean;
    [key: string]: unknown;
}
export interface Skill {
    name: string;
    description: string;
    filePath: string;
    baseDir: string;
    source: RuntimeSkillSource;
    disableModelInvocation: boolean;
}
export interface LoadSkillsResult {
    skills: Skill[];
    diagnostics: ResourceDiagnostic[];
}
export interface LoadSkillsFromDirOptions {
    /** Directory to scan for skills */
    dir: string;
    /** Source identifier for these skills */
    source: RuntimeSkillSource;
}
/**
 * Load skills from a directory.
 *
 * Discovery rules:
 * - direct .md children in the root
 * - recursive SKILL.md under subdirectories
 */
export declare function loadSkillsFromDir(options: LoadSkillsFromDirOptions): LoadSkillsResult;
export interface LoadSkillsOptions {
    /** Working directory for project-local skills. Default: process.cwd() */
    cwd?: string;
    /** AgentController config directory for global skills. Default: ~/.pi/agent */
    agentDir?: string;
    /** Explicit skill paths (files or directories) */
    skillPaths?: string[];
    /** Include default skills directories. Default: true */
    includeDefaults?: boolean;
}
/**
 * Load skills from all configured locations.
 * Returns skills and any validation diagnostics.
 */
export declare function loadSkills(options?: LoadSkillsOptions): LoadSkillsResult;
//# sourceMappingURL=skills.d.ts.map