import { type FormItemRule } from '../wd-form/types'
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      customTextareaContainerClass: {
        type: import('vue').PropType<string>
        default: string
      }
      customTextareaClass: {
        type: import('vue').PropType<string>
        default: string
      }
      customLabelClass: {
        type: import('vue').PropType<string>
        default: string
      }
      modelValue: {
        type: (NumberConstructor | StringConstructor)[]
        default: string
      }
      placeholder: StringConstructor
      placeholderStyle: StringConstructor
      placeholderClass: {
        type: import('vue').PropType<string>
        default: string
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      maxlength: {
        type: NumberConstructor
        default: number
      }
      autoFocus: {
        type: BooleanConstructor
        default: boolean
      }
      focus: {
        type: BooleanConstructor
        default: boolean
      }
      autoHeight: {
        type: BooleanConstructor
        default: boolean
      }
      fixed: {
        type: BooleanConstructor
        default: boolean
      }
      cursorSpacing: {
        type: NumberConstructor
        default: number
      }
      cursor: {
        type: NumberConstructor
        default: number
      }
      confirmType: {
        type: import('vue').PropType<import('./types').ConfirmType | null>
        default: import('./types').ConfirmType | null
      }
      confirmHold: {
        type: BooleanConstructor
        default: boolean
      }
      showConfirmBar: {
        type: BooleanConstructor
        default: boolean
      }
      selectionStart: {
        type: NumberConstructor
        default: number
      }
      selectionEnd: {
        type: NumberConstructor
        default: number
      }
      adjustPosition: {
        type: BooleanConstructor
        default: boolean
      }
      disableDefaultPadding: {
        type: BooleanConstructor
        default: boolean
      }
      holdKeyboard: {
        type: BooleanConstructor
        default: boolean
      }
      showPassword: {
        type: BooleanConstructor
        default: boolean
      }
      clearable: {
        type: BooleanConstructor
        default: boolean
      }
      readonly: {
        type: BooleanConstructor
        default: boolean
      }
      prefixIcon: StringConstructor
      usePrefixSlot: {
        type: BooleanConstructor
        default: boolean
      }
      showWordLimit: {
        type: BooleanConstructor
        default: boolean
      }
      label: StringConstructor
      labelWidth: {
        type: import('vue').PropType<string>
        default: string
      }
      useLabelSlot: {
        type: BooleanConstructor
        default: boolean
      }
      size: StringConstructor
      error: {
        type: BooleanConstructor
        default: boolean
      }
      center: {
        type: BooleanConstructor
        default: boolean
      }
      noBorder: {
        type: BooleanConstructor
        default: boolean
      }
      required: {
        type: BooleanConstructor
        default: boolean
      }
      prop: {
        type: import('vue').PropType<string>
        default: string
      }
      rules: {
        type: import('vue').PropType<FormItemRule[]>
        default: () => never[]
      }
      clearTrigger: {
        type: import('vue').PropType<import('../wd-input/types').InputClearTrigger>
        default: import('../wd-input/types').InputClearTrigger
      }
      focusWhenClear: {
        type: BooleanConstructor
        default: boolean
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      'update:modelValue': (...args: any[]) => void
      input: (...args: any[]) => void
      click: (...args: any[]) => void
      change: (...args: any[]) => void
      confirm: (...args: any[]) => void
      clear: (...args: any[]) => void
      focus: (...args: any[]) => void
      blur: (...args: any[]) => void
      keyboardheightchange: (...args: any[]) => void
      clickprefixicon: (...args: any[]) => void
      linechange: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        customTextareaContainerClass: {
          type: import('vue').PropType<string>
          default: string
        }
        customTextareaClass: {
          type: import('vue').PropType<string>
          default: string
        }
        customLabelClass: {
          type: import('vue').PropType<string>
          default: string
        }
        modelValue: {
          type: (NumberConstructor | StringConstructor)[]
          default: string
        }
        placeholder: StringConstructor
        placeholderStyle: StringConstructor
        placeholderClass: {
          type: import('vue').PropType<string>
          default: string
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        maxlength: {
          type: NumberConstructor
          default: number
        }
        autoFocus: {
          type: BooleanConstructor
          default: boolean
        }
        focus: {
          type: BooleanConstructor
          default: boolean
        }
        autoHeight: {
          type: BooleanConstructor
          default: boolean
        }
        fixed: {
          type: BooleanConstructor
          default: boolean
        }
        cursorSpacing: {
          type: NumberConstructor
          default: number
        }
        cursor: {
          type: NumberConstructor
          default: number
        }
        confirmType: {
          type: import('vue').PropType<import('./types').ConfirmType | null>
          default: import('./types').ConfirmType | null
        }
        confirmHold: {
          type: BooleanConstructor
          default: boolean
        }
        showConfirmBar: {
          type: BooleanConstructor
          default: boolean
        }
        selectionStart: {
          type: NumberConstructor
          default: number
        }
        selectionEnd: {
          type: NumberConstructor
          default: number
        }
        adjustPosition: {
          type: BooleanConstructor
          default: boolean
        }
        disableDefaultPadding: {
          type: BooleanConstructor
          default: boolean
        }
        holdKeyboard: {
          type: BooleanConstructor
          default: boolean
        }
        showPassword: {
          type: BooleanConstructor
          default: boolean
        }
        clearable: {
          type: BooleanConstructor
          default: boolean
        }
        readonly: {
          type: BooleanConstructor
          default: boolean
        }
        prefixIcon: StringConstructor
        usePrefixSlot: {
          type: BooleanConstructor
          default: boolean
        }
        showWordLimit: {
          type: BooleanConstructor
          default: boolean
        }
        label: StringConstructor
        labelWidth: {
          type: import('vue').PropType<string>
          default: string
        }
        useLabelSlot: {
          type: BooleanConstructor
          default: boolean
        }
        size: StringConstructor
        error: {
          type: BooleanConstructor
          default: boolean
        }
        center: {
          type: BooleanConstructor
          default: boolean
        }
        noBorder: {
          type: BooleanConstructor
          default: boolean
        }
        required: {
          type: BooleanConstructor
          default: boolean
        }
        prop: {
          type: import('vue').PropType<string>
          default: string
        }
        rules: {
          type: import('vue').PropType<FormItemRule[]>
          default: () => never[]
        }
        clearTrigger: {
          type: import('vue').PropType<import('../wd-input/types').InputClearTrigger>
          default: import('../wd-input/types').InputClearTrigger
        }
        focusWhenClear: {
          type: BooleanConstructor
          default: boolean
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      'onUpdate:modelValue'?: ((...args: any[]) => any) | undefined
      onFocus?: ((...args: any[]) => any) | undefined
      onBlur?: ((...args: any[]) => any) | undefined
      onChange?: ((...args: any[]) => any) | undefined
      onInput?: ((...args: any[]) => any) | undefined
      onClick?: ((...args: any[]) => any) | undefined
      onConfirm?: ((...args: any[]) => any) | undefined
      onClear?: ((...args: any[]) => any) | undefined
      onKeyboardheightchange?: ((...args: any[]) => any) | undefined
      onClickprefixicon?: ((...args: any[]) => any) | undefined
      onLinechange?: ((...args: any[]) => any) | undefined
    },
    {
      modelValue: string | number
      customStyle: string
      customClass: string
      fixed: boolean
      readonly: boolean
      required: boolean
      error: boolean
      disabled: boolean
      rules: FormItemRule[]
      labelWidth: string
      useLabelSlot: boolean
      center: boolean
      prop: string
      customLabelClass: string
      focus: boolean
      placeholderClass: string
      cursorSpacing: number
      cursor: number
      selectionStart: number
      selectionEnd: number
      adjustPosition: boolean
      holdKeyboard: boolean
      confirmType: import('./types').ConfirmType | null
      confirmHold: boolean
      maxlength: number
      showPassword: boolean
      clearable: boolean
      usePrefixSlot: boolean
      showWordLimit: boolean
      noBorder: boolean
      clearTrigger: import('../wd-input/types').InputClearTrigger
      focusWhenClear: boolean
      customTextareaContainerClass: string
      customTextareaClass: string
      autoFocus: boolean
      autoHeight: boolean
      showConfirmBar: boolean
      disableDefaultPadding: boolean
    },
    {}
  >,
  {
    prefix?(_: {}): any
    label?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
