import { ComputedRef, ExtractPropTypes, PropType } from 'vue'; import { TriggerTypes } from '../../utils/types'; export type Rule = Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise | boolean; pattern: RegExp; trigger: TriggerTypes; }>; export type ReturnTypes = boolean | void | Promise | null; export type ValidateType = null | PropErrorInfo | void; export type AllValidateType = null | PropErrorInfo[] | void; export type PropErrorInfo = { name: string; message: string; }; export interface FormItemExposed { validateWithTrigger: (trigger: TriggerTypes) => null | Promise; resetValidation: () => void; formValue: ComputedRef; validate: (ruleList?: Rule[]) => Promise; change: () => void; } export declare const commonProps: { size: { type: PropType; default: null; }; border: { type: BooleanConstructor; default: boolean; }; labelWidth: { type: (StringConstructor | NumberConstructor)[]; default: null; }; colon: { type: BooleanConstructor; default: boolean; }; labelAlign: { type: PropType; default: null; }; showError: { type: BooleanConstructor; default: boolean; }; showErrorMessage: { type: BooleanConstructor; default: boolean; }; errorMessageAlign: { type: PropType; default: null; }; rules: { type: PropType string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise | boolean; pattern: RegExp; trigger: TriggerTypes; }> | Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise | boolean; pattern: RegExp; trigger: TriggerTypes; }>[] | Record string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise | boolean; pattern: RegExp; trigger: TriggerTypes; }> | Partial<{ required: boolean; message: string | ((value: unknown, rule: Rule) => string); formatter: (value: unknown, rule: Rule) => unknown; validator: (value: unknown, rule: Rule) => Promise | boolean; pattern: RegExp; trigger: TriggerTypes; }>[]>>; default: null; }; }; export type CommonPropsType = ExtractPropTypes;