import type { AgentTool } from '@earendil-works/pi-agent-core'; import { type SkillInstallTarget } from '../skills/install-target.js'; export interface SkillInstallToolOptions { source: string; ref?: string; path?: string; skillId?: string; target?: SkillInstallTarget; /** Current session whose resolved workspace should receive workspace installs. */ sessionKey?: string; /** Explicit workspace override for workspace installs. */ workspace?: string; force?: boolean; strictScan?: boolean; } export interface SkillInstallToolResult { skillId: string; path: string; source: string; kind: 'git' | 'archive'; contentHash: string; target?: SkillInstallTarget; } export interface MarketplaceSkillInstallToolOptions { provider: 'store' | 'skillhub' | 'clawhub'; name: string; version?: string; target?: SkillInstallTarget; sessionKey?: string; force?: boolean; } export interface MarketplaceSkillInstallToolResult { skillId: string; path: string; provider: 'store' | 'skillhub' | 'clawhub'; name: string; version?: string; target?: SkillInstallTarget; } export interface SkillInstallToolDeps { installSkillFromSource?: (opts: SkillInstallToolOptions) => Promise; installSkillFromMarketplace?: (opts: MarketplaceSkillInstallToolOptions) => Promise; getSessionKey?: () => string | undefined; } export declare function createSkillInstallTool(deps: SkillInstallToolDeps): AgentTool;