/**
 * Copyright IBM Corp. 2021, 2023
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React, { PropsWithChildren, ReactNode } from 'react';
interface CreateFullPageStepBaseProps extends PropsWithChildren {
    /**
     * Sets an optional className to be added to the CreateFullPage step
     */
    className?: string;
    /**
     * Sets an optional description on the progress step component
     */
    description?: ReactNode;
    /**
     * This will conditionally disable the submit button in the multi step CreateFullPage
     */
    disableSubmit?: boolean;
    /**
     * This optional prop will render your form content inside of a fieldset html element
     */
    hasFieldset?: boolean;
    /**
     * This prop is used to help track dynamic steps. If this value is `false` then the step is not included in the visible steps or the ProgressIndicator
     * steps. If this value is `true` then the step will be included in the list of visible steps, as well as being included in the ProgressIndicator step list
     */
    includeStep?: boolean;
    /**
     * This prop can be used on the first step to mark it as an intro step, which will not render the progress indicator steps
     */
    introStep?: boolean;
    /**
     * This optional prop will indicate an error icon on the progress indicator step item
     */
    invalid?: boolean;
    /**
     * Optional function to be called on initial mount of a step.
     * For example, this can be used to fetch data that is required on a particular step.
     */
    onMount?: () => void;
    /**
     * Optional function to be called on a step change.
     * For example, this can be used to validate input fields before proceeding to the next step.
     * This function can _optionally_ return a promise that is either resolved or rejected and the CreateFullPage will handle the submitting state of the next button.
     */
    onNext?: () => void | Promise<any>;
    /**
     * Optional function to be called when you move to the previous step.
     */
    onPrevious?: () => void;
    /**
     * Sets the optional secondary label on the progress step component
     */
    secondaryLabel?: string;
    /**
     * Sets an optional subtitle on the progress step component
     */
    subtitle?: string;
    /**
     * Sets the title text for a create full page step
     */
    title: ReactNode;
}
type CreateFullPageStepFieldsetProps = {
    fieldsetLegendText?: string;
} | {
    hasFieldset: false;
    fieldsetLegendText?: string;
} | {
    hasFieldset: true;
    fieldsetLegendText: string;
};
export type CreateFullPageStepProps = CreateFullPageStepBaseProps & CreateFullPageStepFieldsetProps;
export declare let CreateFullPageStep: React.ForwardRefExoticComponent<CreateFullPageStepProps & React.RefAttributes<HTMLDivElement>>;
export {};
