import { type SegmentedOption } from './types'
declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      value: {
        type: (NumberConstructor | StringConstructor)[]
        required: true
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      size: {
        type: import('vue').PropType<import('./types').SegmentedType>
        default: import('./types').SegmentedType
      }
      options: {
        type: import('vue').PropType<string[] | number[] | SegmentedOption[]>
        required: boolean
        default: () => never[]
      }
      vibrateShort: {
        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,
    {
      click: (...args: any[]) => void
      change: (...args: any[]) => void
      'update:value': (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        value: {
          type: (NumberConstructor | StringConstructor)[]
          required: true
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        size: {
          type: import('vue').PropType<import('./types').SegmentedType>
          default: import('./types').SegmentedType
        }
        options: {
          type: import('vue').PropType<string[] | number[] | SegmentedOption[]>
          required: boolean
          default: () => never[]
        }
        vibrateShort: {
          type: BooleanConstructor
          default: boolean
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onChange?: ((...args: any[]) => any) | undefined
      onClick?: ((...args: any[]) => any) | undefined
      'onUpdate:value'?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      options: string[] | number[] | SegmentedOption[]
      disabled: boolean
      size: import('./types').SegmentedType
      vibrateShort: boolean
    },
    {}
  >,
  {
    label?(_: { option: SegmentedOption }): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
