declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      modelValue: {
        type: import('vue').PropType<string>
        default: string
      }
      useSuffixSlot: {
        type: BooleanConstructor
        default: boolean
      }
      placeholder: StringConstructor
      cancelTxt: StringConstructor
      light: {
        type: BooleanConstructor
        default: boolean
      }
      hideCancel: {
        type: BooleanConstructor
        default: boolean
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      maxlength: {
        type: (NumberConstructor | StringConstructor)[]
        default: number
      }
      placeholderLeft: {
        type: BooleanConstructor
        default: boolean
      }
      focus: {
        type: BooleanConstructor
        default: boolean
      }
      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,
    {
      search: (...args: any[]) => void
      cancel: (...args: any[]) => void
      'update:modelValue': (...args: any[]) => void
      change: (...args: any[]) => void
      clear: (...args: any[]) => void
      focus: (...args: any[]) => void
      blur: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        modelValue: {
          type: import('vue').PropType<string>
          default: string
        }
        useSuffixSlot: {
          type: BooleanConstructor
          default: boolean
        }
        placeholder: StringConstructor
        cancelTxt: StringConstructor
        light: {
          type: BooleanConstructor
          default: boolean
        }
        hideCancel: {
          type: BooleanConstructor
          default: boolean
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        maxlength: {
          type: (NumberConstructor | StringConstructor)[]
          default: number
        }
        placeholderLeft: {
          type: BooleanConstructor
          default: boolean
        }
        focus: {
          type: BooleanConstructor
          default: boolean
        }
        focusWhenClear: {
          type: BooleanConstructor
          default: boolean
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onCancel?: ((...args: any[]) => any) | undefined
      'onUpdate:modelValue'?: ((...args: any[]) => any) | undefined
      onFocus?: ((...args: any[]) => any) | undefined
      onBlur?: ((...args: any[]) => any) | undefined
      onChange?: ((...args: any[]) => any) | undefined
      onClear?: ((...args: any[]) => any) | undefined
      onSearch?: ((...args: any[]) => any) | undefined
    },
    {
      modelValue: string
      customStyle: string
      customClass: string
      disabled: boolean
      light: boolean
      focus: boolean
      maxlength: string | number
      useSuffixSlot: boolean
      focusWhenClear: boolean
      hideCancel: boolean
      placeholderLeft: boolean
    },
    {}
  >,
  {
    prefix?(_: {}): any
    suffix?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
