#!/usr/bin/env node /** * Nori Profiles Uninstaller * * Removes all features installed by the Nori Profiles installer. */ import type { Command } from "commander"; /** * Type for prompt configuration returned by generatePromptConfig */ export type PromptConfig = { installDir: string; removeGlobalSettings: boolean; selectedAgent: string; }; /** * Prompt user for confirmation before uninstalling * @param args - Configuration arguments * @param args.installDir - Installation directory * @param args.agent - Agent name (optional, will prompt if multiple agents installed) * * @returns The prompt configuration if user confirms, null to exit */ export declare const generatePromptConfig: (args: { installDir: string; agent?: string | null; }) => Promise; /** * Core uninstall logic (can be called programmatically) * Preserves config file by default (for upgrades). Only removes config when removeConfig=true. * In non-interactive mode, global settings (hooks, statusline, and global slashcommands) are * NOT removed from ~/.claude to avoid breaking other Nori installations. * @param args - Configuration arguments * @param args.removeConfig - Whether to remove the config file (default: false) * @param args.removeGlobalSettings - Whether to remove hooks, statusline, and global slashcommands from ~/.claude (default: false) * @param args.installedVersion - Version being uninstalled (for logging) * @param args.installDir - Installation directory * @param args.agent - AI agent to use (defaults to claude-code) */ export declare const runUninstall: (args: { removeConfig?: boolean | null; removeGlobalSettings?: boolean | null; installedVersion?: string | null; installDir: string; agent?: string | null; }) => Promise; /** * Interactive uninstallation mode * Prompts user for confirmation and configuration choices * * @param args - Configuration arguments * @param args.installDir - Installation directory (optional) * @param args.agent - AI agent to use (defaults to claude-code) */ export declare const interactive: (args?: { installDir?: string | null; agent?: string | null; }) => Promise; /** * Non-interactive uninstallation mode * Preserves config and hooks/statusline for safe upgrades * * @param args - Configuration arguments * @param args.installDir - Installation directory (optional) * @param args.agent - AI agent to use (defaults to claude-code) */ export declare const noninteractive: (args?: { installDir?: string | null; agent?: string | null; }) => Promise; /** * Main uninstaller entry point * Routes to interactive or non-interactive mode * @param args - Configuration arguments * @param args.nonInteractive - Whether to run in non-interactive mode (skips prompts, preserves config) * @param args.installDir - Custom installation directory (optional, defaults to cwd) * @param args.agent - AI agent to use (defaults to claude-code) */ export declare const main: (args?: { nonInteractive?: boolean | null; installDir?: string | null; agent?: string | null; }) => Promise; /** * Register the 'uninstall' command with commander * @param args - Configuration arguments * @param args.program - Commander program instance */ export declare const registerUninstallCommand: (args: { program: Command; }) => void; //# sourceMappingURL=uninstall.d.ts.map