/**
 * Shared skill install/uninstall + tool-install logic.
 *
 * Used by both the REST routes (routes/store.ts, routes/skills.ts) and the
 * agent-callable tools (tools/skill-tools.ts) so there is a single source of
 * truth for "install a skill" and "install the tools a skill needs".
 */
import type { ClawHubClient } from "../clawhub/client.js";
import type { Skill, SkillRegistry } from "./index.js";
export interface InstalledSkillSummary {
    id: string;
    name: string;
    description?: string;
    source: string;
    enabled: boolean;
}
/** Download a ClawHub skill, extract it to the user skills dir, and register it. */
export declare function installClawHubSkill(params: {
    clawhub: ClawHubClient;
    skillRegistry: SkillRegistry;
    slug: string;
    version?: string;
}): Promise<InstalledSkillSummary>;
/** Remove a ClawHub-installed skill (verifies origin metadata first). */
export declare function uninstallClawHubSkill(params: {
    skillRegistry: SkillRegistry;
    slug: string;
}): Promise<void>;
export interface SkillToolInstallResult {
    ok: true;
    package: string;
    output: string;
}
/**
 * Install a tool a skill declares it needs.
 * Currently supports `kind: "node"` specs via `npm install -g <package>`.
 */
export declare function installSkillTool(params: {
    skill: Skill;
    installId?: string;
}): Promise<SkillToolInstallResult>;
//# sourceMappingURL=install.d.ts.map