import type { SkillServiceOptions } from "../types/skill.js"; import type { SkillRepository } from "./skillRepository.js"; import type { OutputManager } from "../core/outputManager.js"; import { type Logger } from "../../logger.js"; export declare class SkillService { private readonly workspace; private readonly skillsDirectory; private readonly repository; private readonly outputManager; private readonly logger; private readonly security; constructor(repository: SkillRepository, outputManager: OutputManager, logger: Logger, options: SkillServiceOptions); /** * Get the absolute path to the skills directory */ private getSkillsPath; /** * Browse available skills from the repository */ browseSkills(): Promise; /** * Install a skill from the repository */ installSkill(skillName: string): Promise; /** * List installed skills */ listInstalledSkills(): Promise; /** * Remove an installed skill */ removeSkill(skillName: string): Promise; /** * Check if a skill exists locally */ private skillExists; /** * Prompt user for overwrite confirmation */ private promptForOverwrite; private loadSkillFrontmatter; private resolveMissingRequiredBins; private selectInstallRecipe; private promptForDependencyInstall; private getInstallCommandPreview; private runInstallRecipe; private handlePostInstallDependencyActivation; /** * Validate SKILL.md file */ private validateSkillMd; private resolveSafeInstallPath; /** * Parse SKILL.md metadata (same logic as repository) */ private parseSkillMetadata; }