import React, { ElementType } from 'react'; import { AnyObject } from '@data-driven-forms/react-form-renderer'; interface FormTemplateRenderProps extends AnyObject { formFields: React.ReactNode[]; schema: { title?: React.ReactNode; description?: React.ReactNode; label?: string; }; } export interface FormTemplateCommonProps extends FormTemplateRenderProps { FormWrapper?: ElementType; Title?: ElementType; Description?: ElementType; Button?: ElementType; ButtonGroup?: ElementType; formWrapperProps?: AnyObject; showFormControls?: boolean; disableSubmit?: string[]; Header?: ElementType; headerProps?: AnyObject; titleProps?: AnyObject; descriptionProps?: AnyObject; buttonGroupProps?: AnyObject; buttonsProps?: AnyObject; alertProps?: AnyObject; BeforeError?: ElementType; } interface FormControlsProps { onCancel?: ((values: Record, ...args: any[]) => void) | (() => void); onReset?: () => void; submitLabel?: string; cancelLabel?: string; resetLabel?: string; canReset?: boolean; disableSubmit?: boolean; buttonOrder?: string[]; buttonClassName?: string; FormButtons?: ElementType; Button?: ElementType; ButtonGroup?: ElementType; formSpyProps?: AnyObject; buttonsProps?: AnyObject; buttonGroupProps?: AnyObject; } export declare const isDisabled: (disableStates: string[], getState: () => AnyObject) => boolean; export declare const completeButtons: (buttonOrder: string[]) => string[]; export declare const FormControls: React.FC; declare const FormTemplate: React.FC; export default FormTemplate;