import { Component } from "react"; import type * as defs from "./FormDefinition"; import type { FormPresenterHost } from "./FormPresenterHost"; import type { FormElementProps, FormElementRegistration } from "./index"; export type { FormPresenterHost }; export interface EventValueTypes { cancel: string | undefined; changed: defs.Value | undefined; clicked: defs.Value | undefined; custom: any; dragged: defs.NumberRef | number[]; suggest: defs.Value | undefined; } export interface EventArgumentTypes { cancel: never; changed: boolean | string; clicked: undefined; custom: any; dragged: never; suggest: string; } export interface FormComponentProps { children: React.JSX.Element[]; host: FormPresenterHost; name?: string; type?: "form" | "body" | "row" | "header" | "main" | "footer" | "element" | "section" | "accordionGroup" | "tabGroup"; } /** @product This is intended for internal use only within VertiGIS Studio products. */ export declare class FormComponent extends Component { autoInput: boolean | undefined; enabled: boolean; id: string | undefined; timer: any; get elementRegistration(): FormElementRegistration | undefined; private get element(); prepare(): defs.Element | undefined; raiseEvent: (eventName: K, eventValue: EventValueTypes[K], argument?: EventArgumentTypes[K], item?: string, cancellationToken?: PromiseLike | undefined) => void; render(): any; setItemProperty: FormElementProps["setItemProperty"]; setProperty: FormElementProps["setProperty"]; setValue: FormElementProps["setValue"]; } export declare class FormElementComponent extends FormComponent { componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; }