/**
 * Skill system types and constants
 * Dependencies: Core (Logger)
 */
export interface SkillMetadata {
    name: string;
    description: string;
    type: "personal" | "project" | "builtin";
    skillPath: string;
    allowedTools?: string[];
    context?: "fork";
    agent?: string;
    model?: string;
    disableModelInvocation?: boolean;
    userInvocable?: boolean;
    pluginName?: string;
}
export interface Skill extends SkillMetadata {
    content: string;
    frontmatter: SkillFrontmatter;
    isValid: boolean;
    errors: string[];
}
export interface SkillFrontmatter {
    name: string;
    description: string;
    "allowed-tools"?: string | string[];
    context?: "fork";
    agent?: string;
    model?: string;
    "disable-model-invocation"?: boolean | string;
    "user-invocable"?: boolean | string;
    [key: string]: unknown;
}
export interface SkillCollection {
    type: "personal" | "project" | "builtin";
    basePath: string;
    skills: Map<string, SkillMetadata>;
    errors: SkillError[];
}
export interface SkillError {
    skillPath: string;
    message: string;
}
export interface SkillValidationResult {
    isValid: boolean;
    skill?: Skill;
    errors: string[];
}
export interface SkillDiscoveryResult {
    personalSkills: Map<string, SkillMetadata>;
    projectSkills: Map<string, SkillMetadata>;
    builtinSkills: Map<string, SkillMetadata>;
    errors: SkillError[];
}
export interface SkillInvocationContext {
    skillName: string;
}
export interface SkillToolArgs {
    skill_name: string;
    args?: string;
}
export interface SkillManagerOptions {
    personalSkillsPath?: string;
    scanTimeout?: number;
    workdir?: string;
    watch?: boolean;
}
export interface ParsedSkillFile {
    frontmatter: SkillFrontmatter;
    content: string;
    skillMetadata: SkillMetadata;
    validationErrors: string[];
    isValid: boolean;
}
export interface SkillParseOptions {
    validateMetadata?: boolean;
    basePath?: string;
}
export declare const SKILL_DEFAULTS: {
    readonly PERSONAL_SKILLS_DIR: ".wave/skills";
    readonly PROJECT_SKILLS_DIR: ".wave/skills";
    readonly SKILL_FILE_NAME: "SKILL.md";
    readonly MAX_NAME_LENGTH: 64;
    readonly MAX_DESCRIPTION_LENGTH: 1024;
    readonly MIN_DESCRIPTION_LENGTH: 1;
    readonly NAME_PATTERN: RegExp;
    readonly MAX_METADATA_CACHE: 1000;
    readonly MAX_CONTENT_CACHE: 100;
    readonly SCAN_TIMEOUT: 5000;
    readonly LOAD_TIMEOUT: 2000;
};
//# sourceMappingURL=skills.d.ts.map