import { RenderResult } from '@dojo/framework/core/interfaces'; import { FormMiddleware, FormValue } from './middleware'; declare type Omit = Pick>; interface BaseFormProperties { /** The initial form value */ initialValue?: FormValue; /** Controlled form value component */ value?: FormValue; /** Callback called when a form value changes */ onValue?(values: FormValue): void; /** The name property of the form */ name?: string; onSubmit?: never; action?: never; } interface SubmitFormProperties extends Omit { /** Callback for when the form is submitted with valid values */ onSubmit(values: FormValue): void; } interface ActionFormProperties extends Omit { /** Action url for the form on submit */ action: string; /** method of submit, defaults to `post` */ method?: 'post' | 'get'; } export declare type FormProperties = BaseFormProperties | SubmitFormProperties | ActionFormProperties; export declare type FormChildRenderer = (properties: FormMiddleware) => RenderResult; declare const _default: import("@dojo/framework/core/interfaces").WNodeFactory<{ properties: (BaseFormProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties) | (SubmitFormProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties) | (ActionFormProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties); children: FormChildRenderer; }>; export default _default; export interface FormGroupProperties { /** Render this grouping in a vertical column */ column?: boolean; } export declare const FormGroup: import("@dojo/framework/core/interfaces").WNodeFactory<{ properties: FormGroupProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties; children: unknown; }>; export declare const FormField: import("@dojo/framework/core/interfaces").DefaultChildrenWNodeFactory<{ properties: import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties; children: import("@dojo/framework/core/interfaces").DNode[]; }>;