import type { ReactElement, ReactNode } from "react";
import type { ProgressTrackerProps } from "../ProgressTracker";
export interface DialogStep {
    content: ReactNode;
    progressTracker?: ReactElement<ProgressTrackerProps>;
    /** When provided, overrides the dialog-level sidePanel for this step. */
    sidePanel?: ReactElement;
    onBeforeNext?: () => boolean | Promise<boolean>;
    onBeforeBack?: () => boolean | Promise<boolean>;
    onEnter?: () => void | Promise<void>;
}
export interface MultiStepDialogProps {
    steps: DialogStep[];
    onComplete?: () => void;
    completeButtonLabel?: string;
    backButtonDisabled?: boolean;
    nextButtonDisabled?: boolean;
}
export interface SingleStepNeverProps {
    primaryButton?: never;
    secondaryButton?: never;
    children?: never;
    progressTracker?: never;
}
export interface MultiStepNeverProps {
    steps?: never;
    onComplete?: never;
    completeButtonLabel?: never;
    backButtonDisabled?: never;
    nextButtonDisabled?: never;
}
