import { InputDialogProps } from "@etsoo/react";
import { TextFieldProps } from "@mui/material/TextField";
/**
 * Data step
 */
export type DataStep = Omit<InputDialogProps, "callback"> & {
    /**
     * Callback
     */
    callback: (form: HTMLFormElement) => boolean | void;
};
/**
 * Data collecting steps component props
 */
export type DataStepsProps<T extends object> = Omit<TextFieldProps, "InputProps" | "onClick"> & {
    /**
     * JSON value
     */
    jsonValue: T;
    /**
     * Value formatter
     */
    valueFormatter?: (data: T) => string;
    /**
     * Steps
     */
    steps: (index: number, data: T) => [DataStep, boolean];
    /**
     * On value change handler
     */
    onValueChange?: (value: T) => void;
};
/**
 * Data collecting steps component
 * @param props Props
 * @returns Component
 */
export declare function DataSteps<T extends object>(props: DataStepsProps<T>): import("react/jsx-runtime").JSX.Element;
