types.ts 936 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import type { Dispatch, ReactNode, SetStateAction } from 'react'
  2. export interface DevTelemetryEvent {
  3. id: string
  4. timestamp: number
  5. source: 'client' | 'server'
  6. eventType: string
  7. eventName: string
  8. distinctId?: string
  9. properties?: Record<string, unknown>
  10. }
  11. export interface ServerTelemetryEvent {
  12. id: string
  13. timestamp: number
  14. sessionId: string
  15. eventType: 'capture' | 'identify' | 'groupIdentify' | 'alias'
  16. eventName: string
  17. distinctId: string
  18. properties?: Record<string, unknown>
  19. groups?: Record<string, string | number>
  20. }
  21. export interface DevToolbarConfig {
  22. apiUrl: string
  23. }
  24. export interface ExtraTab {
  25. id: string
  26. label: string
  27. content: ReactNode
  28. }
  29. export interface DevTelemetryToolbarContextType {
  30. isEnabled: boolean
  31. isOpen: boolean
  32. setIsOpen: (open: boolean) => void
  33. events: DevTelemetryEvent[]
  34. setEvents: Dispatch<SetStateAction<DevTelemetryEvent[]>>
  35. dismissToolbar: () => void
  36. }