/**
 * 外部组件模块声明
 * 这些组件位于 frontend/components/ 目录，被 admin 项目引用
 * 由于这些组件有独立的类型问题，在此声明以避免类型检查错误
 */

declare module '../../../components/MosquitoLeaderboard.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{
    activityId: number
    page?: number
    size?: number
    topN?: number
    currentUserId?: number
  }, {}, any>
  export default component
}

declare module '../../../components/MosquitoPosterCard.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{
    posterUrl?: string
    width?: number
    height?: number
    loading?: boolean
    error?: Error | null
  }, {}, any>
  export default component
}

declare module '../../../components/MosquitoShareButton.vue' {
  import type { DefineComponent } from 'vue'
  const component: DefineComponent<{
    text?: string
    size?: 'sm' | 'md' | 'lg'
    variant?: 'default' | 'primary' | 'secondary' | 'success' | 'danger'
    loading?: boolean
    disabled?: boolean
  }, {}, any>
  export default component
}

declare module '../../index' {
  export function useMosquito(): any
  export default any
}
