import type { BadgeProps } from '../wd-badge/types'
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      customText: {
        type: import('vue').PropType<string>
        default: string
      }
      customIcon: {
        type: import('vue').PropType<string>
        default: string
      }
      icon: {
        type: import('vue').PropType<string>
        default: string
      }
      iconSize: {
        type: import('vue').PropType<string>
        default: string
      }
      text: StringConstructor
      url: StringConstructor
      linkType: {
        type: import('vue').PropType<import('./types').LinkType>
        default: import('./types').LinkType
      }
      useSlot: {
        type: BooleanConstructor
        default: boolean
      }
      useIconSlot: {
        type: BooleanConstructor
        default: boolean
      }
      useTextSlot: {
        type: BooleanConstructor
        default: boolean
      }
      isDot: {
        type: BooleanConstructor
        default: undefined
      }
      type: import('vue').PropType<import('../wd-badge/types').BadgeType>
      value: NumberConstructor
      max: NumberConstructor
      badgeProps: import('vue').PropType<Partial<BadgeProps>>
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {
      setiIemClass: (classes: string) => void
      itemClass: import('vue').Ref<string>
      init: () => void
    },
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      itemclick: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        customText: {
          type: import('vue').PropType<string>
          default: string
        }
        customIcon: {
          type: import('vue').PropType<string>
          default: string
        }
        icon: {
          type: import('vue').PropType<string>
          default: string
        }
        iconSize: {
          type: import('vue').PropType<string>
          default: string
        }
        text: StringConstructor
        url: StringConstructor
        linkType: {
          type: import('vue').PropType<import('./types').LinkType>
          default: import('./types').LinkType
        }
        useSlot: {
          type: BooleanConstructor
          default: boolean
        }
        useIconSlot: {
          type: BooleanConstructor
          default: boolean
        }
        useTextSlot: {
          type: BooleanConstructor
          default: boolean
        }
        isDot: {
          type: BooleanConstructor
          default: undefined
        }
        type: import('vue').PropType<import('../wd-badge/types').BadgeType>
        value: NumberConstructor
        max: NumberConstructor
        badgeProps: import('vue').PropType<Partial<BadgeProps>>
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onItemclick?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      isDot: boolean
      icon: string
      useSlot: boolean
      iconSize: string
      customIcon: string
      customText: string
      linkType: import('./types').LinkType
      useIconSlot: boolean
      useTextSlot: boolean
    },
    {}
  >,
  {
    default?(_: {}): any
    icon?(_: {}): any
    text?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
