import { CoreCondition } from '@xiaohaih/condition-core'; import { ElCascader, ElCheckbox, ElColorPicker, ElDatePicker, ElForm, ElFormItem, ElInput, ElInputNumber, ElMention, ElRadio, ElRate, ElSelect, ElSelectV2, ElSlider, ElSwitch, ElTimePicker, ElTimeSelect, ElTreeSelect, ElUpload } from 'element-plus'; import { ExtractPropTypes } from 'vue'; import { cascaderProps, checkboxProps, colorPickerProps, customRenderProps, datepickerProps, inputNumberProps, inputProps, mentionProps, radioProps, rateProps, selectProps, selectV2Props, sliderProps, switchProps, timepickerProps, timeSelectProps, treeSelectProps, uploadProps, wrapperProps } from './package/index'; export declare namespace HCondition { type BuiltInField = CoreCondition.BuiltInField | 'customGetQuery' | 'backfillToValue' | T; type OmitDefaultKey = CoreCondition.OmitDefaultKey; type FormItemBuiltInField = 'prop' | 'style' | 'class' | 'size'; interface WrapperProps extends ExtractPropTypes>, Omit>, 'model' | 'class' | 'style' | 'toast' | 'size'> { } /** 条件声明集合 */ type Condition = CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef | CoreCondition.DeepMaybeRef; interface InputProps extends Omit>, BuiltInField>, Omit>, keyof typeof inputProps | 'inputStyle'>, Omit>, FormItemBuiltInField> { t: 'input'; inputStyle?: string | string[] | Record; } interface SelectProps extends Omit>, BuiltInField>, Omit>, keyof typeof selectProps>, Omit>, FormItemBuiltInField> { t: 'select'; } interface TreeSelectProps extends Omit>, BuiltInField>, Omit>, keyof typeof treeSelectProps>, Omit>, FormItemBuiltInField> { t: 'tree-select'; } interface DatepickerProps extends Omit>, BuiltInField>, Omit>, keyof typeof datepickerProps>, Omit>, FormItemBuiltInField> { t: 'datepicker' | 'date-picker'; } interface RadioProps extends Omit>, BuiltInField>, Omit>, keyof typeof radioProps | 'label'>, Omit>, FormItemBuiltInField> { t: 'radio'; } interface CheckboxProps extends Omit>, BuiltInField>, Omit>, keyof typeof checkboxProps | 'label'>, Omit>, FormItemBuiltInField> { t: 'checkbox'; } interface CascaderProps extends Omit>, BuiltInField | 'props'>, Omit>, keyof typeof cascaderProps>, Omit>, FormItemBuiltInField> { t: 'cascader'; } interface ColorPickerProps extends Omit>, BuiltInField>, Omit>, keyof typeof colorPickerProps>, Omit>, FormItemBuiltInField> { t: 'color-picker'; } interface InputNumberProps extends Omit>, BuiltInField>, Omit>, keyof typeof inputNumberProps>, Omit>, FormItemBuiltInField> { t: 'input-number'; } interface RateProps extends Omit>, BuiltInField>, Omit>, keyof typeof rateProps>, Omit>, FormItemBuiltInField> { t: 'rate'; } interface SliderProps extends Omit>, BuiltInField>, Omit>, keyof typeof sliderProps>, Omit>, FormItemBuiltInField> { t: 'slider'; } interface SwitchProps extends Omit>, BuiltInField>, Omit>, keyof typeof switchProps>, Omit>, FormItemBuiltInField> { t: 'switch'; } interface TimePickerProps extends Omit>, BuiltInField>, Omit>, keyof typeof timepickerProps>, Omit>, FormItemBuiltInField> { t: 'time-picker'; } interface TimeSelectProps extends Omit>, BuiltInField>, Omit>, keyof typeof timeSelectProps>, Omit>, FormItemBuiltInField> { t: 'time-select'; } interface UploadProps extends Omit>, BuiltInField>, Omit>, keyof typeof uploadProps>, Omit>, FormItemBuiltInField> { t: 'upload'; } interface SelectV2Props extends Omit>, BuiltInField>, Omit>, keyof typeof selectV2Props>, Omit>, FormItemBuiltInField> { t: 'select-v2'; } interface MentionProps extends Omit>, BuiltInField>, Omit>, keyof typeof mentionProps | 'inputStyle'>, Omit>, FormItemBuiltInField> { t: 'mention'; inputStyle?: string | string[] | Record; } interface CustomRenderProps extends Omit>, BuiltInField>, Omit>, FormItemBuiltInField> { t: 'custom-render'; } /** 获取 vue 组件的 props 值 */ type Props> = Partial>; /** 将数据改为可写 */ type Writeable = { -readonly [K in keyof T]: T[K]; }; }