import type { UserEventHandler } from '@xylabs/pixel' import type { EmptyObject } from '@xylabs/sdk-js' import { use } from 'react' import { UserEventsContext } from '../contexts/index.ts' export function useUserEvents(): UserEventHandler | undefined export function useUserEvents(required: true): UserEventHandler export function useUserEvents(required?: false | 'warn'): UserEventHandler | undefined export function useUserEvents(required: boolean | 'warn' = 'warn'): UserEventHandler | undefined { const { userEvents } = use(UserEventsContext) if (!userEvents) { if (required === 'warn') { console.warn('No UserEvents instance found in context') } else if (required === true) { throw new Error('No UserEvents instance found in context') } } return userEvents }