export type SkillRiskLevel = 'low' | 'medium' | 'high';
export interface SkillDefinition {
    name: string;
    description: string;
    domain: string;
    triggers: string[];
    content: string;
    filePath: string;
    /** Optional human-readable hint for when the agent should pick this skill. */
    whenToUse?: string;
    /** Optional list of tool names this skill expects to use. */
    requiredTools?: string[];
    /** Optional risk classification used by workflow runner and UI. */
    riskLevel?: SkillRiskLevel;
    /** Optional ordered list of plain-language steps. */
    steps?: string[];
    /** Optional usage examples. */
    examples?: string[];
    /** Optional validation checks the agent should run after executing the skill. */
    validationChecks?: string[];
    /** Optional notes describing how to roll back if the skill misfires. */
    rollbackNotes?: string;
    /** Whether this skill is currently enabled. Defaults to true when omitted. */
    enabled?: boolean;
}
export interface SkillLoadDiagnostic {
    name: string;
    filePath: string;
    reason: 'missing-skill-file' | 'unreadable-skill-file' | 'missing-frontmatter';
    message: string;
}
export interface SkillDirectoryScan {
    skills: SkillDefinition[];
    diagnostics: SkillLoadDiagnostic[];
}
export declare function loadSkillsDir(skillsDir: string): Promise<SkillDefinition[]>;
export declare function scanSkillsDir(skillsDir: string): Promise<SkillDirectoryScan>;
export declare function parseSkillFile(content: string, filePath: string): SkillDefinition | null;
export declare function matchSkillTrigger(skills: SkillDefinition[], userInput: string): SkillDefinition | null;
//# sourceMappingURL=skillLoader.d.ts.map