import { FormItem } from './FormItem'; export interface FormItemSize { xs: number; sm: number; md: number; lg: number; xl: number; } export type FormValue = Record; export type FormValueWatcher = (value: any) => void; export type FormItemsObject = Record; export type FormLayout = LayoutItem[][]; export interface FormValidator { name: string; fn: (formFields: FormItemsObject) => string; } export type FormErrors = Record; export type FormValidationWatcher = (isValid: boolean) => void; export interface LayoutItem { size: FormItemSize; item: FormItem; } export interface FormProps { layout: FormLayout, validators?: FormValidator[] }