import type { InjectionKey, Ref, MaybeRef } from 'vue'
import type { BooleanFlag } from './enums'
export const TABS_REF_KEY = Symbol('tabsRef') as InjectionKey<Ref<HTMLElement | null>>

export const COMMENT_REF_KEY = Symbol('commentRef') as InjectionKey<Ref<HTMLElement | null>>

export const IS_REAL_KEY = Symbol('isReal') as InjectionKey<Ref<number>>

// 获取at用户相关函数的key
export const MENTION_USER_FN_KEY = Symbol('mentionUserFn') as InjectionKey<{
  getMentionUserIds?: () => string[]
  getMentionUsers?: () => Array<{ userId: string; name: string }>
}>

// 是否是实名 评论相关
export const IS_REAL_KEY_COMMENT = Symbol('isRealComment') as InjectionKey<MaybeRef<BooleanFlag>>
