import type { ApplyResult, ListEntry, PlanOptions, Scope, SkillsPlan } from './types.js'; /** * Apply an install plan. Executes create/update/adopt actions; skips * unchanged; leaves refused untouched. Mid-apply failure rolls back ONLY the * files created THIS run (never a recursive dir delete). Receipts written LAST, * per successful action. */ export declare function applySkillsPlan(plan: SkillsPlan): ApplyResult; /** Public entry: plan + apply in one call. */ export declare function installSkills(opts: PlanOptions): ApplyResult; interface RemoveOptions { packs?: string[]; scope: Scope; agents?: string[]; cwd: string; force?: boolean; /** * Preview mode: compute the SAME remove/refuse/notice action list and * hash-verify against receipt/canonical/legacy, but touch NEITHER the * filesystem NOR receipts. `result.removed` then lists what WOULD be removed. */ dryRun?: boolean; } /** * Remove selected packs for selected agents at a scope. Receipt-driven with a * hash-verify per file; falls back to catalog/legacy-hash verification when no * receipt exists. Shared-path receipts decrement agents[]; files delete only * when agents[] empties. Pack dir removed only if empty afterward. */ export declare function removeSkills(opts: RemoveOptions): ApplyResult; /** * Pure preview of a remove: same action list, ZERO fs/receipt mutation. Returns * a plan-shaped view so the CLI renders it exactly like an add dry-run. */ export declare function planRemove(opts: RemoveOptions): SkillsPlan; interface RemoveAllOptions { cwd: string; force?: boolean; } /** * Uninstall sweep. Runs a receipts pass (structural-bounds-checked against the * CURRENT cwd — a project-scope receipt from another directory does NOT match * this cwd's target shape and is refused, not swept) plus a receipt-less pass * enumerating every targets-table path for ALL supported agents × BOTH scopes. * Each file resolves per the REMOVE order; unremovable ⇒ left + reported. */ export declare function removeAllSkills(opts: RemoveAllOptions): ApplyResult; /** Report install state per (agent, scope, pack). NEVER writes. */ export declare function listSkills(opts: PlanOptions): ListEntry[]; export type { RemoveOptions, RemoveAllOptions }; //# sourceMappingURL=executor.d.ts.map