import { AnyComponentSchema } from '@open-formulieren/types';
import { ComponentEvent } from './designer/types';
import { BuilderContextType } from '../context';
type FormSchema = {
    display: 'form';
    components: AnyComponentSchema[];
};
export interface FormBuilderProps {
    /**
     * The components that are edited in the form builder.
     */
    components: AnyComponentSchema[];
    /**
     * Callback invoked when the form definition changes.
     *
     * This contains the entire new components structure, and possible events that
     * happened in the form builder. The event is optional and is only present when the
     * change was triggered by component create, update, or delete events.
     */
    onChange: (form: FormSchema, event?: ComponentEvent) => void;
}
export type MergedFormBuilderProps = FormBuilderProps & BuilderContextType;
declare const FormBuilder: React.FC<MergedFormBuilderProps>;
export default FormBuilder;
