import { ExtractPropTypes, PropType } from 'vue'; export type FormLayout = 'vertical' | 'horizontal' | 'inline'; export type FormLabelAlign = 'left' | 'right' | 'top'; export type FormSize = 'sm' | 'default' | 'lg'; export type FormValidateTrigger = 'blur' | 'change'; export type FormRequiredMarkPosition = 'left' | 'right'; export type FormRuleType = 'string' | 'number' | 'boolean' | 'array' | 'email' | 'url' | 'integer' | 'float' | 'date' | 'hex' | 'ip' | 'phone' | 'alphanumeric' | 'alpha'; export interface FormRule { required?: boolean; message?: string; trigger?: FormValidateTrigger | FormValidateTrigger[]; min?: number; max?: number; len?: number; pattern?: RegExp; type?: FormRuleType; validator?: (value: any, rule: FormRule) => boolean | string | Promise; whitespace?: boolean; enum?: any[]; not?: any; same?: string; different?: string; contains?: string; startsWith?: string; endsWith?: string; } export type FormRules = Record; export interface FormValidateError { field: string; message: string; } export declare const formProps: { readonly model: { readonly type: PropType>; readonly default: undefined; }; readonly rules: { readonly type: PropType; readonly default: undefined; }; readonly layout: { readonly type: PropType; readonly default: "vertical"; }; readonly labelWidth: { readonly type: PropType; readonly default: ""; }; readonly labelAlign: { readonly type: PropType; readonly default: "right"; }; readonly labelSuffix: { readonly type: StringConstructor; readonly default: ""; }; readonly size: { readonly type: PropType; readonly default: "default"; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly showRequiredMark: { readonly type: BooleanConstructor; readonly default: true; }; readonly requiredMarkPosition: { readonly type: PropType; readonly default: "left"; }; readonly validateOnChange: { readonly type: BooleanConstructor; readonly default: true; }; readonly validateOnBlur: { readonly type: BooleanConstructor; readonly default: true; }; readonly hideErrorMessage: { readonly type: BooleanConstructor; readonly default: false; }; readonly scrollToError: { readonly type: BooleanConstructor; readonly default: false; }; readonly statusIcon: { readonly type: BooleanConstructor; readonly default: false; }; readonly showAllErrors: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const formEmits: { readonly validate: (field: string, valid: boolean, message: string) => boolean; readonly submit: (e: Event) => boolean; }; export declare const formItemProps: { readonly label: { readonly type: StringConstructor; readonly default: ""; }; readonly field: { readonly type: StringConstructor; readonly default: ""; }; readonly rules: { readonly type: PropType; readonly default: undefined; }; readonly required: { readonly type: BooleanConstructor; readonly default: undefined; }; readonly labelWidth: { readonly type: PropType; readonly default: ""; }; readonly showMessage: { readonly type: BooleanConstructor; readonly default: true; }; readonly help: { readonly type: StringConstructor; readonly default: ""; }; readonly description: { readonly type: StringConstructor; readonly default: ""; }; readonly dependencies: { readonly type: PropType; readonly default: undefined; }; }; export declare const formItemEmits: {}; export type FormProps = ExtractPropTypes; export type FormItemProps = ExtractPropTypes;