import { type FormItemInstance, FormItemProps as ElFormItemProps } from 'element-plus'; import { type VNodeChild, type PropType } from 'vue'; import { type MapFieldTypeComponentProps, type FieldType } from '../field'; import { type ColPublicProps } from '../col'; export type FormItemPresetWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; export type FormItemWidth = number | FormItemPresetWidth | (string & {}); export declare const mapFormItemWidth: { xs: number; sm: number; md: number; lg: number; xl: number; }; export declare const formItemProps: { fieldType: { type: PropType; default: "input"; }; fieldProps: { type: PropType; }; fieldSlots: { type: PropType; }; fieldRef: { type: PropType<(el: any) => void>; }; modelValue: { type: PropType["modelValue"] | null>; }; width: { type: PropType; }; placeholder: { type: StringConstructor; }; disabled: { type: BooleanConstructor; default: boolean; }; readonly: { type: BooleanConstructor; default: boolean; }; colProps: { type: PropType; }; internalIndex: { type: NumberConstructor; }; tooltip: { type: PropType; }; extra: { type: PropType; }; label: StringConstructor; labelWidth: import("element-plus/es/utils/index.mjs").EpPropFinalized; labelPosition: import("element-plus/es/utils/index.mjs").EpPropFinalized; prop: { readonly type: import("vue").PropType string | string[]) | (() => import("element-plus").FormItemProp) | ((new (...args: any[]) => string | string[]) | (() => import("element-plus").FormItemProp))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; required: import("element-plus/es/utils/index.mjs").EpPropFinalized; rules: { readonly type: import("vue").PropType import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils/typescript.mjs").Arrayable) | ((new (...args: any[]) => import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | (() => import("element-plus/es/utils/typescript.mjs").Arrayable))[], unknown, unknown>>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; error: StringConstructor; validateStatus: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; for: StringConstructor; inlineMessage: import("element-plus/es/utils/index.mjs").EpPropFinalized; showMessage: import("element-plus/es/utils/index.mjs").EpPropFinalized; size: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; }; export interface FormItemProps extends Partial { fieldType?: T; fieldProps?: MapFieldTypeComponentProps[T]['componentProps']; fieldSlots?: MapFieldTypeComponentProps[T]['componentSlots']; fieldRef?: (el: any) => void; modelValue?: NonNullable['modelValue'] | null; width?: FormItemWidth; placeholder?: string; disabled?: boolean; readonly?: boolean; colProps?: ColPublicProps; internalIndex?: number; tooltip?: VNodeChild; extra?: VNodeChild; } export declare const defaultFormItemProps: { fieldRef: () => void; showMessage: boolean; inlineMessage: boolean; required: undefined; }; export declare const exlucdeFieldSlotNames: readonly ["error", "label", "default", "tooltip", "extra"]; type ExlucdeFieldSlotNames = (typeof exlucdeFieldSlotNames)[number]; type OptionExlucdeFieldSlotNames = `field-${ExlucdeFieldSlotNames}`; export type ElFormItemSlots = { default?: (props: Record) => any; label?: (props: { label: string; }) => any; error?: (props: { error: string; }) => any; tooltip?: (props: Record) => any; extra?: (props: Record) => any; } & { [K in OptionExlucdeFieldSlotNames]?: (...args: any[]) => any; }; export type FormItemSlots = NonNullable & ElFormItemSlots; export declare const formItemPropsKeys: string[]; export interface FormItemEmits { (e: 'update:modelValue', value: unknown): void; } export declare const formItemExposeKeys: string[]; export interface FormItemExpose extends FormItemInstance { } export {};