/**
 * `olam skills migrate-from-toolbox` — convert an existing toolbox-shaped
 * skill source (e.g. atlas-toolbox, grain/ai-skills) installation to
 * olam-managed skill distribution.
 *
 * Order of operations (atomic in spirit — snapshot first, mutations after):
 *   1. detectToolboxState({ toolboxPath }) → MigrationSnapshot (or no-op when nothing detected)
 *   2. writeMigrationSnapshot() → ~/.olam/state/migration-snapshots/<namespace>-<ISO>.json
 *   3. addSkillSource() + cloneSkillSource() → register the toolbox as an olam source
 *   4. uninstall legacy toolbox SessionStart hook entries (entries whose command
 *      references the toolbox repo path OR `./scripts/sync.sh`)
 *   5. install the olam-skills SessionStart hook (via mergeHomeSettingsJson)
 *   6. run `olam skills sync` to deploy artifacts under olam management
 *
 * Idempotent: re-running on an already-migrated host detects the olam
 * hook sentinel and no-ops with an informative message.
 */
import type { Command } from 'commander';
/** Stable command identifier — referenced by tests to keep them rename-resilient. */
export declare const MIGRATE_FROM_TOOLBOX_COMMAND = "migrate-from-toolbox";
interface ToolboxHookSurgeryResult {
    readonly removed: number;
}
/**
 * Surgically remove SessionStart hook entries that reference the toolbox
 * repo path OR call `./scripts/sync.sh` (legacy atlas-toolbox sync entry —
 * harmless no-op against non-atlas toolboxes). Leaves olam-skills entries
 * and unrelated user hooks intact.
 */
declare function uninstallLegacyToolboxSessionStartHook(filePath: string, toolboxPath: string | undefined): ToolboxHookSurgeryResult;
export declare function registerSkillsMigrate(program: Command): void;
export { uninstallLegacyToolboxSessionStartHook };
//# sourceMappingURL=skills-migrate.d.ts.map