import { FormBuilder as FormioFormBuilder } from '@formio/js'; import { ComponentType, FormBuilderOptions, FormType } from '../../../interfaces'; interface BuilderConstructor { new (element: HTMLDivElement, form: FormType, options: FormBuilderOptions): FormioFormBuilder; } export interface FormBuilderEvents { onAddComponent?: Function; onRemoveComponent?: Function; onCancelComponent?: Function; onMoveComponent?: Function; onEditJson?: Function; onCopyComponent?: Function; onPasteComponent?: Function; onBuilderReady?: (builder: FormioFormBuilder) => void; onChange?: (components: ComponentType[]) => void; onSaveComponent?: (component: ComponentType, original: ComponentType, parent: ComponentType, path: string, index: number, isNew: boolean, originalComponentSchema: ComponentType) => void; onEditComponent?: (component: ComponentType) => void; onUpdateComponent?: (component: ComponentType) => void; onDeleteComponent?: (component: ComponentType, parent: ComponentType, path: string, index: number) => void; } export interface UseFormBuilderProps extends FormBuilderEvents { Builder?: BuilderConstructor; components: ComponentType[]; display?: string; options?: FormBuilderOptions; } export declare function useFormBuilder({ components, display, options, onBuilderReady, onChange, ...props }: UseFormBuilderProps): import('react').RefObject; export {};