/** * Add and remove opt-in packs in an initialised project (GH #411), and tell * which ones it has. `monomind packs add|remove|list` and `init upgrade * --add-missing` use these. */ import { type InitResult } from './types.js'; /** * The opt-in packs `targetDir` has: the manifest's record, or — for a project * initialised before packs existed, which got everything — every pack with a * `.claude` file that init put there: one whose content matches the hash init * recorded or the file this version ships. */ export declare function installedPacks(targetDir: string): string[]; /** The packs among `names` that have at least one entry of an installed kind * on disk under `.claude` — what an init run really put in place. */ export declare function packsOnDisk(targetDir: string, names: readonly string[], kinds: { skills: boolean; commands: boolean; agents: boolean; }): string[]; /** Install `packs` into an initialised project; edited files are kept (the * new version goes beside them as `.monomind-new`), like `init`. The Kimi * Code and OpenCode trees, when the project has them, are converted again. */ export declare function addPacks(targetDir: string, packs: readonly string[], sourceBaseDir?: string): Promise; /** * Remove `packs` from a project. Only files init installed and nobody has * changed since are deleted: a `.claude`/`.gemini`/`.agents` file whose content * still matches the hash init recorded, or a Kimi Code/OpenCode file that still * holds exactly what the removed files convert to. Anything else — an edited * file, a file of the user's own inside a pack directory, a file with no * recorded hash, a symlink, a path that resolves outside the project — is * kept and listed in `result.kept`. */ export declare function removePacks(targetDir: string, packs: readonly string[]): InitResult; //# sourceMappingURL=pack-install.d.ts.map