import type { KlawConfig } from "../config/types.klaw.js"; import { type InstallSafetyOverrides } from "../plugins/install-security-scan.js"; import type { SkillInstallResult } from "./skills-install.types.js"; import { loadWorkspaceSkillEntries as defaultLoadWorkspaceSkillEntries, resolveSkillsInstallPreferences as defaultResolveSkillsInstallPreferences } from "./skills.js"; export type SkillInstallRequest = InstallSafetyOverrides & { workspaceDir: string; skillName: string; installId: string; timeoutMs?: number; config?: KlawConfig; }; export type { SkillInstallResult } from "./skills-install.types.js"; type SkillsInstallDeps = { hasBinary: (bin: string) => boolean; loadWorkspaceSkillEntries: typeof defaultLoadWorkspaceSkillEntries; resolveNodeInstallStateDir: () => string; resolveBrewExecutable: () => string | undefined; isContainerEnvironment: () => boolean; resolveSkillsInstallPreferences: typeof defaultResolveSkillsInstallPreferences; }; declare function resolveDefaultNodeInstallStateDir({ cwd, getuid, homedir, platform, }?: { cwd?: string; getuid?: () => number; homedir?: () => string; platform?: NodeJS.Platform; }): string; export declare function installSkill(params: SkillInstallRequest): Promise; export declare const testing: { resolveDefaultNodeInstallStateDir: typeof resolveDefaultNodeInstallStateDir; setDepsForTest(overrides?: Partial): void; }; export { testing as __testing };