import { FormBuilder as FormioFormBuilder } from '@aot-technologies/formiojs';
import { Component } from '@formio/core';
import { FormType, FormSource } from './Form';
interface BuilderConstructor {
    new (element: HTMLDivElement, formSource: FormSource | undefined, options: FormioFormBuilder['options']): FormioFormBuilder;
}
export type FormBuilderProps = {
    options?: FormioFormBuilder['options'];
    Builder?: BuilderConstructor;
    initialForm?: FormSource;
    onBuilderReady?: (builder: FormioFormBuilder) => void;
    onChange?: (form: FormType) => void;
    onSaveComponent?: (component: Component, parent: Component, index: number, originalComponentSchema: Component, path: string, isNew: boolean) => void;
    onAddComponent?: (component: Component, parent: Component, path: string, index: number) => void;
    onEditComponent?: (component: Component) => void;
    onUpdateComponent?: (component: Component) => void;
    onDeleteComponent?: (component: Component, parent: Component, path: string, index: number) => void;
};
export declare const FormBuilder: ({ options, Builder, initialForm, onBuilderReady, onChange, onSaveComponent, onAddComponent, onEditComponent, onUpdateComponent, onDeleteComponent, }: FormBuilderProps) => import("react").JSX.Element;
export {};
//# sourceMappingURL=FormBuilder.d.ts.map