import React from 'react';
import { SetupWidgetState, SetupWidgetStep } from '@wix/bex-core';
export interface SetupWidgetProps {
    /**
     * A Setup widget state instance created with `useSetupWidget`. The widget
     * owns loading / error / refetch; the state exposes the steps and a public
     * API to change a step's status.
     */
    state: SetupWidgetState;
    /**
     * Inline-expansion content for a step, supplied at render time (the data does
     * not carry it). Returned for the currently-expanded inline step.
     */
    renderStepContent?: (step: SetupWidgetStep) => React.ReactNode;
    /** Fired when a `navigate` step (or its CTA) is activated. */
    onStepClick?: (step: SetupWidgetStep) => void;
    /**
     * Fired when a *completed* step's CTA (or row) is activated — a distinct
     * action from `onStepClick` (mirrors `onCompletedCtaClick` in dashboard-setup,
     * which targets the step's separate `completedCta`).
     */
    onCompletedStepClick?: (step: SetupWidgetStep) => void;
    /**
     * Fired once when a step (or group) scrolls into view — for the consumer to
     * report view telemetry (BI/dealer). The widget itself stays
     * telemetry-agnostic. Click telemetry hooks into `onStepClick` /
     * `onCompletedStepClick`.
     */
    onStepView?: (step: SetupWidgetStep) => void;
    /** Fired when the "all complete" celebratory CTA is clicked. */
    onAllCompleteClick?: () => void;
    /**
     * Replaces the default error UI when the initial load fails. Receives a
     * `retry` callback (re-runs the load) and the thrown `error`. When omitted, a
     * standard error card with a "Try again" retry is shown.
     */
    renderError?: (params: {
        retry: () => void;
        error: unknown;
    }) => React.ReactNode;
    /** Applies a data-hook attribute for tests. */
    dataHook?: string;
}
export declare const SetupWidget: (({ state, renderStepContent, onStepClick, onCompletedStepClick, onStepView, onAllCompleteClick, renderError, dataHook, }: SetupWidgetProps) => React.JSX.Element) & {
    displayName: string;
};
//# sourceMappingURL=SetupWidget.d.ts.map