import { ElementUIComponent, ElementUIComponentSize } from './component'; export type FormItemLabelPosition = 'left' | 'right' | 'top'; export interface ValidateCallback { /** * The callback to tell the validation result * * @param isValid Whether the form is valid * @param invalidFields fields that fail validation */ (isValid: boolean, invalidFields: object): void; } export interface ValidateFieldCallback { /** * The callback to tell the field validation result * * @param errorMessage The error message. It will be empty if there is no error */ (errorMessage: string): void; } /** Form Component */ export declare class ElForm extends ElementUIComponent { /** Data of form component */ model: object; /** Validation rules of form */ rules: object; /** Whether the form is inline */ inline: boolean; /** Whether the form is disabled */ disabled: boolean; /** Position of label */ labelPosition: FormItemLabelPosition; /** Width of label, and all form items will inherit from Form */ labelWidth: string; /** Suffix of the label */ labelSuffix: string; /** Whether to show the error message */ showMessage: boolean; /** Whether to display the error message inline with the form item */ inlineMessage: boolean; /** Whether to display an icon indicating the validation result */ statusIcon: boolean; /** Whether to trigger validation when the `rules` prop is changed */ validateOnRuleChange: boolean; /** Controls the size of components in this form */ size: ElementUIComponentSize; /** * Validate the whole form * * @param callback A callback to tell the validation result */ validate(callback: ValidateCallback): void; validate(): Promise; /** * Validate certain form items * * @param props The property of `model` or array of prop which is going to validate * @param callback A callback to tell the field validation result */ validateField(props: string | string[], callback: ValidateFieldCallback): void; /** reset all the fields and remove validation result */ resetFields(): void; /** clear validation message for certain fields */ clearValidate(props?: string | string[]): void; }