import { FC } from 'react';
import { StackProps } from '@mui/material/Stack';
import { FormField } from './type';
/** The props type of [[`IConditionalForm`]]. */
export interface IConditionalForm extends StackProps {
    /**
     * condition for the form
     * @default true
     */
    visible?: boolean | (() => boolean);
    /**
     * fields for the form component, is array, value type is FormField
     *
     * ```
     * type FormField = {
     *   id: string;
     *   label: string;
     *   name: string;
     *   type: SupportedComponent;
     *   options?: OptionType[];
     *   rules?: UseControllerProps['rules'];
     *   properties?: Record<string, any>;
     * }
     * type SupportedComponent = 'text' | 'select' | 'checkbox' | 'radio' | 'switch';
     * ```
     *
     */
    fields: ReadonlyArray<FormField>;
}
/**
 * Conditional Form component, used to show configured form
 * @param {IConditionalForm} props - provides the properties fo React component
 * @return {ReactElement<any, any> | null} - provides the react component to be ingested
 **/
export declare const ConditionalForm: FC<IConditionalForm>;
