/**
 * WizardSteps — first-run 4-step wizard for the schema-driven settings TUI.
 *
 *   Step 1 / 4   Welcome    — banner; press Enter to begin, Esc to skip
 *   Step 2 / 4   System     — runs runSystemCheck() and surfaces the result
 *   Step 3 / 4   LLM        — CategoryScreen against llmCategory
 *   Step 4 / 4   Agents     — CategoryScreen against agentsCategory, then
 *                             on confirm calls propagation.save() once with
 *                             every staged edit, and installs wigolo into
 *                             each selected agent target.
 *
 * Esc from any step skips remaining steps and lands on SettingsHome with
 * any staged defaults committed via store.commit(). The wizard never
 * blocks on completion: on save failure the wizard surfaces a one-line
 * error and still proceeds to home so the user can recover.
 */
import React from 'react';
import type { CategoryDef } from '../schema/types.js';
import type { SettingsStore } from '../state/settings-store.js';
import type { AgentTarget } from '../state/agent-targets.js';
import { save as runSave, installAgent, type SecretStore } from '../state/propagation.js';
import { type SystemCheckResult } from '../system-check.js';
export interface WizardStepsProps {
    store: SettingsStore;
    catalog: ReadonlyArray<CategoryDef>;
    /** Path to ~/.wigolo/config.json (or test temp). */
    configPath: string;
    /** Agents registry used at save time. */
    agents?: ReadonlyArray<AgentTarget>;
    /** Secret store used at save time. */
    secretStore?: SecretStore;
    /** Called after the final save completes (success or surfaced failure). */
    onDone: () => void;
    /** Called when the user presses Esc to abandon the wizard early. */
    onSkip: () => void;
    /** Test seam — overrides the default runSystemCheck(). */
    runSystemCheckImpl?: () => Promise<SystemCheckResult>;
    /** Test seam — overrides propagation.save(). */
    saveImpl?: typeof runSave;
    /** Test seam — overrides propagation.installAgent(). */
    installAgentImpl?: typeof installAgent;
}
export declare function WizardSteps(props: WizardStepsProps): React.ReactElement;
//# sourceMappingURL=WizardSteps.d.ts.map