import { type FormItemRule } from '../wd-form/types'
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      customInputClass: {
        type: import('vue').PropType<string>
        default: string
      }
      customLabelClass: {
        type: import('vue').PropType<string>
        default: string
      }
      placeholder: StringConstructor
      placeholderStyle: StringConstructor
      placeholderClass: {
        type: import('vue').PropType<string>
        default: string
      }
      cursorSpacing: {
        type: NumberConstructor
        default: number
      }
      cursor: {
        type: NumberConstructor
        default: number
      }
      selectionStart: {
        type: NumberConstructor
        default: number
      }
      selectionEnd: {
        type: NumberConstructor
        default: number
      }
      adjustPosition: {
        type: BooleanConstructor
        default: boolean
      }
      holdKeyboard: {
        type: BooleanConstructor
        default: boolean
      }
      confirmType: {
        type: import('vue').PropType<import('./types').InputConfirmType>
        default: import('./types').InputConfirmType
      }
      confirmHold: {
        type: BooleanConstructor
        default: boolean
      }
      focus: {
        type: BooleanConstructor
        default: boolean
      }
      type: {
        type: import('vue').PropType<import('./types').InputType>
        default: import('./types').InputType
      }
      maxlength: {
        type: NumberConstructor
        default: number
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      alwaysEmbed: {
        type: BooleanConstructor
        default: boolean
      }
      alignRight: {
        type: BooleanConstructor
        default: boolean
      }
      modelValue: {
        type: (NumberConstructor | StringConstructor)[]
        default: string
      }
      showPassword: {
        type: BooleanConstructor
        default: boolean
      }
      clearable: {
        type: BooleanConstructor
        default: boolean
      }
      readonly: {
        type: BooleanConstructor
        default: boolean
      }
      prefixIcon: StringConstructor
      suffixIcon: StringConstructor
      showWordLimit: {
        type: BooleanConstructor
        default: boolean
      }
      label: StringConstructor
      labelWidth: {
        type: import('vue').PropType<string>
        default: string
      }
      size: import('vue').PropType<import('./types').InputSize>
      error: {
        type: BooleanConstructor
        default: boolean
      }
      center: {
        type: BooleanConstructor
        default: boolean
      }
      noBorder: {
        type: BooleanConstructor
        default: boolean
      }
      required: {
        type: BooleanConstructor
        default: boolean
      }
      prop: StringConstructor
      rules: {
        type: import('vue').PropType<FormItemRule[]>
        default: () => never[]
      }
      clearTrigger: {
        type: import('vue').PropType<import('./types').InputClearTrigger>
        default: import('./types').InputClearTrigger
      }
      focusWhenClear: {
        type: BooleanConstructor
        default: boolean
      }
      ignoreCompositionEvent: {
        type: BooleanConstructor
        default: boolean
      }
      inputmode: {
        type: import('vue').PropType<import('./types').InputMode>
        default: import('./types').InputMode
      }
      markerSide: {
        type: import('vue').PropType<'before' | 'after'>
        default: 'before' | 'after'
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      click: (...args: any[]) => void
      input: (...args: any[]) => void
      'update:modelValue': (...args: any[]) => void
      confirm: (...args: any[]) => void
      clear: (...args: any[]) => void
      focus: (...args: any[]) => void
      blur: (...args: any[]) => void
      keyboardheightchange: (...args: any[]) => void
      clicksuffixicon: (...args: any[]) => void
      clickprefixicon: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        customInputClass: {
          type: import('vue').PropType<string>
          default: string
        }
        customLabelClass: {
          type: import('vue').PropType<string>
          default: string
        }
        placeholder: StringConstructor
        placeholderStyle: StringConstructor
        placeholderClass: {
          type: import('vue').PropType<string>
          default: string
        }
        cursorSpacing: {
          type: NumberConstructor
          default: number
        }
        cursor: {
          type: NumberConstructor
          default: number
        }
        selectionStart: {
          type: NumberConstructor
          default: number
        }
        selectionEnd: {
          type: NumberConstructor
          default: number
        }
        adjustPosition: {
          type: BooleanConstructor
          default: boolean
        }
        holdKeyboard: {
          type: BooleanConstructor
          default: boolean
        }
        confirmType: {
          type: import('vue').PropType<import('./types').InputConfirmType>
          default: import('./types').InputConfirmType
        }
        confirmHold: {
          type: BooleanConstructor
          default: boolean
        }
        focus: {
          type: BooleanConstructor
          default: boolean
        }
        type: {
          type: import('vue').PropType<import('./types').InputType>
          default: import('./types').InputType
        }
        maxlength: {
          type: NumberConstructor
          default: number
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        alwaysEmbed: {
          type: BooleanConstructor
          default: boolean
        }
        alignRight: {
          type: BooleanConstructor
          default: boolean
        }
        modelValue: {
          type: (NumberConstructor | StringConstructor)[]
          default: string
        }
        showPassword: {
          type: BooleanConstructor
          default: boolean
        }
        clearable: {
          type: BooleanConstructor
          default: boolean
        }
        readonly: {
          type: BooleanConstructor
          default: boolean
        }
        prefixIcon: StringConstructor
        suffixIcon: StringConstructor
        showWordLimit: {
          type: BooleanConstructor
          default: boolean
        }
        label: StringConstructor
        labelWidth: {
          type: import('vue').PropType<string>
          default: string
        }
        size: import('vue').PropType<import('./types').InputSize>
        error: {
          type: BooleanConstructor
          default: boolean
        }
        center: {
          type: BooleanConstructor
          default: boolean
        }
        noBorder: {
          type: BooleanConstructor
          default: boolean
        }
        required: {
          type: BooleanConstructor
          default: boolean
        }
        prop: StringConstructor
        rules: {
          type: import('vue').PropType<FormItemRule[]>
          default: () => never[]
        }
        clearTrigger: {
          type: import('vue').PropType<import('./types').InputClearTrigger>
          default: import('./types').InputClearTrigger
        }
        focusWhenClear: {
          type: BooleanConstructor
          default: boolean
        }
        ignoreCompositionEvent: {
          type: BooleanConstructor
          default: boolean
        }
        inputmode: {
          type: import('vue').PropType<import('./types').InputMode>
          default: import('./types').InputMode
        }
        markerSide: {
          type: import('vue').PropType<'before' | 'after'>
          default: 'before' | 'after'
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onClick?: ((...args: any[]) => any) | undefined
      onFocus?: ((...args: any[]) => any) | undefined
      onBlur?: ((...args: any[]) => any) | undefined
      onInput?: ((...args: any[]) => any) | undefined
      'onUpdate:modelValue'?: ((...args: any[]) => any) | undefined
      onConfirm?: ((...args: any[]) => any) | undefined
      onClear?: ((...args: any[]) => any) | undefined
      onKeyboardheightchange?: ((...args: any[]) => any) | undefined
      onClicksuffixicon?: ((...args: any[]) => any) | undefined
      onClickprefixicon?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      type: import('./types').InputType
      required: boolean
      center: boolean
      modelValue: string | number
      readonly: boolean
      error: boolean
      disabled: boolean
      rules: FormItemRule[]
      labelWidth: string
      alignRight: boolean
      customLabelClass: string
      markerSide: 'before' | 'after'
      clearable: boolean
      focus: boolean
      customInputClass: string
      placeholderClass: string
      cursorSpacing: number
      cursor: number
      selectionStart: number
      selectionEnd: number
      adjustPosition: boolean
      holdKeyboard: boolean
      confirmType: import('./types').InputConfirmType
      confirmHold: boolean
      maxlength: number
      alwaysEmbed: boolean
      showPassword: boolean
      showWordLimit: boolean
      noBorder: boolean
      clearTrigger: import('./types').InputClearTrigger
      focusWhenClear: boolean
      ignoreCompositionEvent: boolean
      inputmode: import('./types').InputMode
    },
    {}
  >,
  {
    prefix?(_: {}): any
    prefix?(_: {}): any
    label?(_: {}): any
    suffix?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
