/**
 * Explain-handler.ts
 *
 * Handles the global --explain flag for any CLI command.
 *
 * Called from the Commander preAction hook in cli.ts. Inspects which
 * command is about to run, builds the appropriate execution plan, and
 * prints it. If --yes is also set, prompts the user to confirm execution.
 *
 * ## How it works
 *
 * Every command is registered in `EXPLAIN_REGISTRY` with either:
 * - **Static metadata** — description, filesRead, filesCreated, steps
 * - **A builder function** — for commands that need to inspect CLI options
 *   or perform async work (e.g., run, init)
 *
 * Adding --explain support for a new command = adding one registry entry.
 * Commands not in the registry fall back to a minimal generic plan.
 *
 * @see docs/archive/exec-plans/execution-preview.md
 */
import type { Command } from "commander";
/**
 * Handle the --explain flag for any command.
 *
 * Looks up the command in `EXPLAIN_REGISTRY`. Static entries are converted
 * to a plan via `buildSimpleCommandPlan`. Builder functions are called
 * directly. Commands not in the registry get a minimal generic plan.
 *
 * @param actionCommand - The Commander command about to execute
 * @param confirmExecution - If true (--yes), prompt to proceed after showing the plan
 * @param rootDir - Path to the eval package root (packages/eval)
 */
export declare function handleExplain(actionCommand: Command, confirmExecution: boolean, rootDir: string): Promise<void>;
