declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      plain: {
        type: BooleanConstructor
        default: boolean
      }
      round: {
        type: BooleanConstructor
        default: boolean
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      hairline: {
        type: BooleanConstructor
        default: boolean
      }
      block: {
        type: BooleanConstructor
        default: boolean
      }
      type: {
        type: import('vue').PropType<import('./types').ButtonType>
        default: import('./types').ButtonType
      }
      size: {
        type: import('vue').PropType<import('./types').ButtonSize>
        default: import('./types').ButtonSize
      }
      icon: StringConstructor
      classPrefix: {
        type: import('vue').PropType<string>
        default: string
      }
      loading: {
        type: BooleanConstructor
        default: boolean
      }
      loadingColor: StringConstructor
      openType: StringConstructor
      hoverStopPropagation: BooleanConstructor
      lang: StringConstructor
      sessionFrom: StringConstructor
      sendMessageTitle: StringConstructor
      sendMessagePath: StringConstructor
      sendMessageImg: StringConstructor
      appParameter: StringConstructor
      showMessageCard: BooleanConstructor
      buttonId: StringConstructor
      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
      error: (...args: any[]) => void
      getuserinfo: (...args: any[]) => void
      contact: (...args: any[]) => void
      getphonenumber: (...args: any[]) => void
      launchapp: (...args: any[]) => void
      opensetting: (...args: any[]) => void
      chooseavatar: (...args: any[]) => void
      agreeprivacyauthorization: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        plain: {
          type: BooleanConstructor
          default: boolean
        }
        round: {
          type: BooleanConstructor
          default: boolean
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        hairline: {
          type: BooleanConstructor
          default: boolean
        }
        block: {
          type: BooleanConstructor
          default: boolean
        }
        type: {
          type: import('vue').PropType<import('./types').ButtonType>
          default: import('./types').ButtonType
        }
        size: {
          type: import('vue').PropType<import('./types').ButtonSize>
          default: import('./types').ButtonSize
        }
        icon: StringConstructor
        classPrefix: {
          type: import('vue').PropType<string>
          default: string
        }
        loading: {
          type: BooleanConstructor
          default: boolean
        }
        loadingColor: StringConstructor
        openType: StringConstructor
        hoverStopPropagation: BooleanConstructor
        lang: StringConstructor
        sessionFrom: StringConstructor
        sendMessageTitle: StringConstructor
        sendMessagePath: StringConstructor
        sendMessageImg: StringConstructor
        appParameter: StringConstructor
        showMessageCard: BooleanConstructor
        buttonId: StringConstructor
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onError?: ((...args: any[]) => any) | undefined
      onClick?: ((...args: any[]) => any) | undefined
      onGetuserinfo?: ((...args: any[]) => any) | undefined
      onContact?: ((...args: any[]) => any) | undefined
      onGetphonenumber?: ((...args: any[]) => any) | undefined
      onLaunchapp?: ((...args: any[]) => any) | undefined
      onOpensetting?: ((...args: any[]) => any) | undefined
      onChooseavatar?: ((...args: any[]) => any) | undefined
      onAgreeprivacyauthorization?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      type: import('./types').ButtonType
      plain: boolean
      round: boolean
      disabled: boolean
      hairline: boolean
      block: boolean
      size: import('./types').ButtonSize
      classPrefix: string
      loading: boolean
      hoverStopPropagation: boolean
      showMessageCard: boolean
    },
    {}
  >,
  {
    default?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
