/**
 *
 *  Copyright (c) "Neo4j"
 *  Neo4j Sweden AB [http://neo4j.com]
 *
 *  This file is part of Neo4j.
 *
 *  Neo4j is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import React from 'react';
import { type PolymorphicCommonProps } from '../_common/types';
interface Step {
    /** Content displayed as the step label */
    content: React.ReactNode;
    /** Explicit status for the step. When set to `error`, the step is rendered in an error state */
    status?: 'default' | 'error';
}
interface BaseWizardProps {
    /** Layout orientation of the wizard */
    orientation?: 'horizontal' | 'vertical';
    /** Visual size of the wizard */
    size?: 'small' | 'large';
    /** Additional style */
    style?: React.CSSProperties;
    /** Additional class name */
    className?: string;
    /** Zero-based index of the active step */
    activeStepIndex: number;
    /** Steps to display in the wizard */
    steps: Step[];
}
type HorizontalWizardProps = BaseWizardProps & {
    orientation: 'horizontal';
    /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */
    alignment?: 'middle';
};
type VerticalWizardProps = BaseWizardProps & {
    orientation: 'vertical';
    /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */
    alignment?: 'top' | 'middle';
};
type NonOrientationWizardProps = BaseWizardProps & {
    orientation: undefined;
    /** Alignment of labels/content, is set to `middle` for horizontal orientation and can be set to `top` or `middle` for vertical orientation and is not applicable when `orientation` is undefined */
    alignment?: never;
};
/**
 * @remarks
 * Where type `Step` is defined as: `{ content: string | React.JSX.Element; status?: 'default' | 'error' }`. To highlight a step as error, set the `status` to `error`.
 */
type WizardProps = HorizontalWizardProps | VerticalWizardProps | NonOrientationWizardProps;
export declare const Wizard: <T extends React.ElementType = "div">({ as, className, style, size, steps, activeStepIndex, orientation, htmlAttributes, alignment, ref, }: PolymorphicCommonProps<T, WizardProps>) => import("react/jsx-runtime").JSX.Element;
export declare const WizardSmall: <T extends React.ElementType = "div">({ orientation, activeStepIndex, steps, as, className, htmlAttributes, style, alignment, ref, ...restProps }: PolymorphicCommonProps<T, Omit<WizardProps, "size">>) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=Wizard.d.ts.map