import type { TooltipProps } from 'll-plus/es/components'; import type { ColProps, FormItemProps, RowProps } from 'ant-design-vue'; import type { ExtractPropTypes } from 'vue'; import type Form from '../form.vue'; type FormType = ('input' | 'input-number' | 'cascader' | 'checkbox' | 'checkbox-group' | 'code-editor' | 'date-picker' | 'time-picker' | 'date-range' | 'time-range' | 'radio' | 'radio-group' | 'select' | 'switch' | 'textarea' | 'upload-image') & T; export interface FormChangeEvent { item: FormColumn; value: any; formData: FormData; } export interface BasicFormColumn extends FormItemProps { label?: string; key: string; spanCol?: number | 24; colOptions?: ColProps; tip?: string; info?: string; tipConfig?: TooltipProps; type: FormType; unit?: string; change?: () => void; rowOptions?: RowProps; children?: FormColumn[]; [key: string]: any; } export type FormColumn = BasicFormColumn & T; export type FormData = Record; export declare const formProps: { readonly formColumns: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => any[], boolean>; readonly formOptions: import("ll-plus/es/utils").EpPropFinalized; labelCol: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; sm: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; md: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; lg: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xxl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; prefixCls: StringConstructor; flex: (StringConstructor | NumberConstructor)[]; }>> & import("vue").HTMLAttributes>; default: Partial; default: string | number | import("ant-design-vue/es/grid").ColSize; }; sm: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; md: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; lg: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xxl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; prefixCls: StringConstructor; flex: (StringConstructor | NumberConstructor)[]; }>> & import("vue").HTMLAttributes; }; wrapperCol: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; sm: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; md: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; lg: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xxl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; prefixCls: StringConstructor; flex: (StringConstructor | NumberConstructor)[]; }>> & import("vue").HTMLAttributes>; default: Partial; default: string | number | import("ant-design-vue/es/grid").ColSize; }; sm: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; md: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; lg: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; xxl: { type: import("vue").PropType; default: string | number | import("ant-design-vue/es/grid").ColSize; }; prefixCls: StringConstructor; flex: (StringConstructor | NumberConstructor)[]; }>> & import("vue").HTMLAttributes; }; colon: { type: BooleanConstructor; default: boolean; }; labelAlign: { type: import("vue").PropType; default: import("ant-design-vue/es/form/interface").FormLabelAlign; }; labelWrap: { type: BooleanConstructor; default: boolean; }; prefixCls: StringConstructor; requiredMark: { type: import("vue").PropType<"" | import("ant-design-vue/es/form/Form").RequiredMark>; default: "" | import("ant-design-vue/es/form/Form").RequiredMark; }; hideRequiredMark: { type: BooleanConstructor; default: boolean; }; model: import("vue-types").VueTypeValidableDef<{ [key: string]: any; }> & { default: () => { [key: string]: any; }; }; rules: { type: import("vue").PropType<{ [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[]; }>; default: { [k: string]: import("ant-design-vue/es/form").RuleObject | import("ant-design-vue/es/form").RuleObject[]; }; }; validateMessages: { type: import("vue").PropType; default: import("ant-design-vue/es/form/interface").ValidateMessages; }; validateOnRuleChange: { type: BooleanConstructor; default: boolean; }; scrollToFirstError: { default: boolean | import("scroll-into-view-if-needed").Options; type: import("vue").PropType>; }; onSubmit: { type: import("vue").PropType<(e: Event) => void>; default: (e: Event) => void; }; name: StringConstructor; validateTrigger: { type: import("vue").PropType; default: string | string[]; }; size: { type: import("vue").PropType; default: import("ant-design-vue/es/button").ButtonSize; }; disabled: { type: BooleanConstructor; default: boolean; }; onValuesChange: { type: import("vue").PropType<(changedValues: any, values: any) => void>; default: (changedValues: any, values: any) => void; }; onFieldsChange: { type: import("vue").PropType<(changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void>; default: (changedFields: import("ant-design-vue/es/form/interface").FieldData[], allFields: import("ant-design-vue/es/form/interface").FieldData[]) => void; }; onFinish: { type: import("vue").PropType<(values: any) => void>; default: (values: any) => void; }; onFinishFailed: { type: import("vue").PropType<(errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity) => void>; default: (errorInfo: import("ant-design-vue/es/form/interface").ValidateErrorEntity) => void; }; onValidate: { type: import("vue").PropType<(name: string | number | string[] | number[], status: boolean, errors: string[]) => void>; default: (name: string | number | string[] | number[], status: boolean, errors: string[]) => void; }; }>>>, unknown, unknown, () => { layout: string; }, boolean>; readonly formData: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => {}, boolean>; readonly rowOptions: import("ll-plus/es/utils").EpPropFinalized; default: "middle" | "top" | "bottom" | "stretch" | { xs?: "middle" | "top" | "bottom" | "stretch"; sm?: "middle" | "top" | "bottom" | "stretch"; md?: "middle" | "top" | "bottom" | "stretch"; lg?: "middle" | "top" | "bottom" | "stretch"; xl?: "middle" | "top" | "bottom" | "stretch"; xxl?: "middle" | "top" | "bottom" | "stretch"; }; }; justify: { type: import("vue").PropType<"center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | { xs?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; sm?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; md?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; lg?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; xl?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; xxl?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; }>; default: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | { xs?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; sm?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; md?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; lg?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; xl?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; xxl?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly"; }; }; prefixCls: StringConstructor; gutter: { type: import("vue").PropType; default: import("ant-design-vue/es/grid/Row").Gutter | [import("ant-design-vue/es/grid/Row").Gutter, import("ant-design-vue/es/grid/Row").Gutter]; }; wrap: { type: BooleanConstructor; default: any; }; }>>>, unknown, unknown, () => { gutter: number; }, boolean>; readonly loading: import("ll-plus/es/utils").EpPropFinalized; readonly autoFocus: import("ll-plus/es/utils").EpPropFinalized; readonly disabled: import("ll-plus/es/utils").EpPropFinalized; readonly validateErrorStop: import("ll-plus/es/utils").EpPropFinalized; }; export declare const formEmits: { /** * @description 表单项值改变时触发 */ change: (params: FormChangeEvent) => boolean; blur: (params: FormChangeEvent) => boolean; }; export type FormProps = ExtractPropTypes; export type FormEmits = typeof formEmits; export type FormInstance = InstanceType; export {};