export default class FormBuilder extends Form {
    /**
     * @typedef FormBuilderOptions
     * @property {string[]} [disabled] - An array of "keys" of components that should be disabled within the form builder. Example: ['firstName', 'lastName']
     * @property {boolean} [noNewEdit] - When set to TRUE no modal is shown when a component is dragged onto the form.
     * @property {boolean} [noDefaultSubmitButton] - Set to TRUE to not include the default submit button in Webforms.
     * @property {boolean} [alwaysConfirmComponentRemoval] - Set to TRUE to always require confirmation before removing a component.
     * @property {object} [formConfig] - Form configurations to apply to forms being created. These configurations are added to the "config" property of the form object.
     * @property {string} [resourceTag] - The tag to use to query for the "Existing Resource Fields" section of the builder.
     * @property {import('./Form').FormOptions} [editForm] - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
     * @property {string} [language] - The language to load into the form builder.
     * @property {object} [builder] - The builder options to pass to the builder.
     * @property {'form'|'wizard'|'pdf'} [display] - The display mode of the builder.
     * @property {string} [resourceFilter] - Filter applied to the resources that appear in the builder's Existing Resource Fields.
     * @property {boolean} [noSource] - When set to TRUE, the resource ID in the builder's Existing Resource Fields will not be linked.
     * @property {boolean} [showFullJsonSchema] - When set to TRUE, the full JSON schema will be displayed in the JSON edit menu.
     */
    /** @type {FormBuilderOptions} */
    static options: {
        /**
         * - An array of "keys" of components that should be disabled within the form builder. Example: ['firstName', 'lastName']
         */
        disabled?: string[] | undefined;
        /**
         * - When set to TRUE no modal is shown when a component is dragged onto the form.
         */
        noNewEdit?: boolean | undefined;
        /**
         * - Set to TRUE to not include the default submit button in Webforms.
         */
        noDefaultSubmitButton?: boolean | undefined;
        /**
         * - Set to TRUE to always require confirmation before removing a component.
         */
        alwaysConfirmComponentRemoval?: boolean | undefined;
        /**
         * - Form configurations to apply to forms being created. These configurations are added to the "config" property of the form object.
         */
        formConfig?: object | undefined;
        /**
         * - The tag to use to query for the "Existing Resource Fields" section of the builder.
         */
        resourceTag?: string | undefined;
        /**
         * - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
         */
        editForm?: import("./Form").FormOptions | undefined;
        /**
         * - The language to load into the form builder.
         */
        language?: string | undefined;
        /**
         * - The builder options to pass to the builder.
         */
        builder?: object | undefined;
        /**
         * - The display mode of the builder.
         */
        display?: "form" | "pdf" | "wizard" | undefined;
        /**
         * - Filter applied to the resources that appear in the builder's Existing Resource Fields.
         */
        resourceFilter?: string | undefined;
        /**
         * - When set to TRUE, the resource ID in the builder's Existing Resource Fields will not be linked.
         */
        noSource?: boolean | undefined;
        /**
         * - When set to TRUE, the full JSON schema will be displayed in the JSON edit menu.
         */
        showFullJsonSchema?: boolean | undefined;
    };
    /**
     * Creates a new form builder.
     * @param {HTMLElement} element - The HTML element to place the form builder.
     * @param {string | object | undefined} form - The form to pass to the builder
     * @param {FormBuilderOptions} options - The options to create this builder.
     * @returns {FormBuilder} - The form builder instance.
     */
    constructor(element: HTMLElement, form: string | object | undefined, options: {
        /**
         * - An array of "keys" of components that should be disabled within the form builder. Example: ['firstName', 'lastName']
         */
        disabled?: string[] | undefined;
        /**
         * - When set to TRUE no modal is shown when a component is dragged onto the form.
         */
        noNewEdit?: boolean | undefined;
        /**
         * - Set to TRUE to not include the default submit button in Webforms.
         */
        noDefaultSubmitButton?: boolean | undefined;
        /**
         * - Set to TRUE to always require confirmation before removing a component.
         */
        alwaysConfirmComponentRemoval?: boolean | undefined;
        /**
         * - Form configurations to apply to forms being created. These configurations are added to the "config" property of the form object.
         */
        formConfig?: object | undefined;
        /**
         * - The tag to use to query for the "Existing Resource Fields" section of the builder.
         */
        resourceTag?: string | undefined;
        /**
         * - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
         */
        editForm?: import("./Form").FormOptions | undefined;
        /**
         * - The language to load into the form builder.
         */
        language?: string | undefined;
        /**
         * - The builder options to pass to the builder.
         */
        builder?: object | undefined;
        /**
         * - The display mode of the builder.
         */
        display?: "form" | "pdf" | "wizard" | undefined;
        /**
         * - Filter applied to the resources that appear in the builder's Existing Resource Fields.
         */
        resourceFilter?: string | undefined;
        /**
         * - When set to TRUE, the resource ID in the builder's Existing Resource Fields will not be linked.
         */
        noSource?: boolean | undefined;
        /**
         * - When set to TRUE, the full JSON schema will be displayed in the JSON edit menu.
         */
        showFullJsonSchema?: boolean | undefined;
    });
    /** @type {FormBuilderOptions} */
    options: {
        /**
         * - An array of "keys" of components that should be disabled within the form builder. Example: ['firstName', 'lastName']
         */
        disabled?: string[] | undefined;
        /**
         * - When set to TRUE no modal is shown when a component is dragged onto the form.
         */
        noNewEdit?: boolean | undefined;
        /**
         * - Set to TRUE to not include the default submit button in Webforms.
         */
        noDefaultSubmitButton?: boolean | undefined;
        /**
         * - Set to TRUE to always require confirmation before removing a component.
         */
        alwaysConfirmComponentRemoval?: boolean | undefined;
        /**
         * - Form configurations to apply to forms being created. These configurations are added to the "config" property of the form object.
         */
        formConfig?: object | undefined;
        /**
         * - The tag to use to query for the "Existing Resource Fields" section of the builder.
         */
        resourceTag?: string | undefined;
        /**
         * - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
         */
        editForm?: import("./Form").FormOptions | undefined;
        /**
         * - The language to load into the form builder.
         */
        language?: string | undefined;
        /**
         * - The builder options to pass to the builder.
         */
        builder?: object | undefined;
        /**
         * - The display mode of the builder.
         */
        display?: "form" | "pdf" | "wizard" | undefined;
        /**
         * - Filter applied to the resources that appear in the builder's Existing Resource Fields.
         */
        resourceFilter?: string | undefined;
        /**
         * - When set to TRUE, the resource ID in the builder's Existing Resource Fields will not be linked.
         */
        noSource?: boolean | undefined;
        /**
         * - When set to TRUE, the full JSON schema will be displayed in the JSON edit menu.
         */
        showFullJsonSchema?: boolean | undefined;
    };
    create(display: any): any;
}
import Form from './Form';
