/** Metadata for an Agent Skills spec-compliant SKILL.md file. */
export interface AgentSkillMetadata {
    /** Unique skill name (kebab-case). */
    name: string;
    /** Short description of what the skill does. */
    description: string;
    /** Skill version string (e.g. "1.0.0"). */
    version?: string;
    /** SPDX license identifier (e.g. "MIT"). */
    license?: string;
    /** Compatible agent platforms (e.g. ["claude-code", "cursor", "copilot"]). */
    compatibility?: string[];
    /** Tools this skill is allowed to use (e.g. ["Bash", "Read", "Write"]). */
    allowedTools?: string[];
    /** File patterns that activate this skill (e.g. ["*.test.ts", "vitest.config.*"]). */
    triggers?: string[];
    /** Additional key-value metadata pairs. */
    metadata?: Record<string, string>;
}
/** Target AI agent for multi-agent skill writing (SPEC-607). */
export type SkillWriteTarget = 'claude' | 'cursor' | 'copilot' | 'gemini';
/** Result of generating skill content from a stack and skill type. */
export interface GeneratedSkillContent {
    /** Human-readable title for the skill. */
    title: string;
    /** Full Markdown body of the skill (without frontmatter). */
    body: string;
    /** Suggested allowed tools for this skill type and stack. */
    suggestedAllowedTools: string[];
    /** Suggested file-pattern triggers for this skill. */
    suggestedTriggers: string[];
}
/**
 * Mutable builder for constructing AgentSkillMetadata incrementally
 * in the YAML frontmatter parser (SPEC-607).
 */
export interface AgentSkillMetaBuilder {
    name: string;
    description: string;
    version?: string;
    license?: string;
    compatibility: string[];
    allowedTools: string[];
    triggers: string[];
    metadata: Record<string, string>;
}
/** Internal template section shape for skill-content-templates JSON files (SPEC-607). */
export interface SkillTemplateSection {
    title: string;
    description: string;
    steps: string[];
    tips: string[];
    runCommand?: string;
    coverageCommand?: string;
    watchCommand?: string;
    buildCommand?: string;
    additionalSetup?: string[];
}
/** Internal template shape for skill-content-templates JSON files (SPEC-607). */
export interface SkillContentTemplate {
    type: string;
    title: string;
    allowedTools: string[];
    triggers: string[];
    sections: Record<string, SkillTemplateSection>;
}
/** Stack information used for stack-aware skill content generation. */
export interface SkillGenerationStackInfo {
    /** Detected frameworks/libraries (e.g. ["react", "vitest", "tailwind"]). */
    frameworks: string[];
    /** Project language (e.g. "typescript", "javascript", "python"). */
    language: string;
    /** Test runner identifier (e.g. "vitest", "jest", "pytest"). */
    testRunner: string | null;
    /** Bundler identifier (e.g. "vite", "webpack"). */
    bundler: string | null;
}
/** Subset of project conventions used by content generator. */
export interface SkillGenerationConventions {
    /** Where tests are located relative to source. */
    testLocation?: 'separate' | 'colocated' | 'unknown';
    /** File naming convention. */
    fileNaming?: 'kebab-case' | 'camelCase' | 'snake_case' | 'PascalCase' | 'unknown';
}
/** Result of splitting generated skill content for progressive disclosure (SPEC-607). */
export interface SplitSkillResult {
    /** The main skill Markdown (frontmatter + core instructions). */
    skillMd: string;
    /**
     * Map of reference filename → content.
     * If empty, the content was not split.
     */
    references: Map<string, string>;
}
/** A file written during multi-agent skill installation (SPEC-607). */
export interface WrittenSkillFile {
    /** Absolute path to the written file. */
    path: string;
    /** Target agent this file was written for. */
    target: SkillWriteTarget;
    /** Whether the file was newly created (true) or updated (false). */
    created: boolean;
}
/** SPEC-650: A skill ready for deployment. */
export interface SkillDeployInput {
    name: string;
    content: string;
}
/** SPEC-650: Result of deploying one skill. */
export interface SkillDeployResult {
    name: string;
    path: string;
    written: boolean;
}
/** SPEC-650: Result of deploying all skills. */
export interface SkillDeployBatchResult {
    detectedClient: string;
    results: SkillDeployResult[];
}
//# sourceMappingURL=skill-generation.d.ts.map