import React from "react";
import * as defs from "./FormDefinition";
import { FormPresenterHost } from "./FormPresenterHost";
import type { FormElementProps, FormElementRegistration } from "..";
export { FormPresenterHost };
export interface FormComponentProps {
    host?: FormPresenterHost;
    type?: "form" | "body" | "row" | "header" | "main" | "footer" | "element" | "section";
    name?: string;
    children?: JSX.Element[];
}
export declare class FormComponent extends React.Component<FormComponentProps, {}> {
    id: string;
    autoInput: boolean;
    enabled: boolean;
    timer: any;
    get elementRegistration(): FormElementRegistration | undefined;
    private get element();
    prepare(): defs.Element;
    render(): any;
    raiseEvent: (eventName: "cancel" | "changed" | "clicked" | "custom", eventValue: any) => void;
    setProperty: FormElementProps<any>["setProperty"];
    setValue: FormElementProps["setValue"];
}
export declare class FormElement extends FormComponent {
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
}
