import type { FormItemProps, SelectProps, InputProps, InputNumberProps, TextAreaProps, CheckboxGroupProps, CheckboxProps, RadioGroupProps, RadioProps, CascaderProps, DatePickerProps, TimePickerProps } from 'ant-design-vue'; export declare type LayoutCol = { flex: string; }; export declare type Rule = FormItemProps['rules']; declare type CustomControl = { hide?: boolean; visibleControl?: (form: Record) => boolean; slot?: string; slotBefore?: string; slotAfter?: string; prop: string; type: 'slot' | 'switch' | 'select' | 'input' | 'inputNumber' | 'textarea' | 'checkbox' | 'radio' | 'cascader' | 'datePicker' | 'timePicker' | 'rangePicker' | 'group' | 'text' | 'multiText' | 'selectText' | 'placeholder' | 'empty'; label?: string; placeholder?: string; disabled?: boolean; disabledControl?: (form: Record) => boolean; required?: boolean; tip?: string; tipPlacement?: string; tipWidth?: string; colon?: boolean; labelCol?: LayoutCol; wrapperCol?: LayoutCol; newRow?: boolean; singleRow?: boolean; wholeRow?: boolean; specialRow?: boolean; align?: 'left' | 'right'; formItemClass?: string; class?: string; getClass?: (form: Record, prop: string) => string; style?: Record; getStyle?: (form: Record, prop: string) => any; textFormatter?: (form?: Record) => string | number | false; getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement; group?: Record[]; noUseVModel?: boolean; options?: any; optionValueName?: string; optionLabelName?: string; optionChildrenName?: string; inputType?: string; positionIndex?: number; onChange?: (e: any, form: Record, selectedOptions?: any[]) => void; onClick?: (e: any, form: Record) => void; onBlur?: (e: any, form: Record) => void; onPressEnter?: (e: any, form: Record) => void; onKeyup?: (e: any, form: Record) => void; onFocus?: (e: any, form: Record) => void; }; declare type CustomControlKeys = keyof CustomControl; export declare type ControlPropsUse = Omit & Omit & Omit & Omit & Omit & Omit & Omit & Omit & Omit & Omit & Omit; export declare type Control = ControlPropsUse & CustomControl; export declare type Block = { hide?: boolean; visibleControl?: (form: Record) => boolean; slot?: string; title?: string; rows?: Control[]; class?: string; }; export declare type FormConfig = { global: { layout?: 'vertical' | 'horizontal'; autocomplete?: boolean; colCount?: 1 | 2 | 3; cols: { labelCol?: LayoutCol; wrapperCol?: LayoutCol; }[]; getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement; }; rules?: Record; config: Block[]; }; export {};