export const ActivityAction = {
  CREATED: 'CREATED',
  UPDATED: 'UPDATED',
  DELETED: 'DELETED',
  APPROVED: 'APPROVED',
  REJECTED: 'REJECTED',
  SHORTLISTED: 'SHORTLISTED',
  REVIEWED: 'REVIEWED',
  VERIFIED: 'VERIFIED',
  EXPORTED: 'EXPORTED',
  SHARED: 'SHARED',
} as const
export type ActivityAction = typeof ActivityAction[keyof typeof ActivityAction]

export const ActivityEntityType = {
  PROPERTY: 'PROPERTY',
  NEED: 'NEED',
  MATCH: 'MATCH',
  FUTURE_SIGNAL: 'FUTURE_SIGNAL',
  AI_OUTPUT: 'AI_OUTPUT',
  SHORTLIST: 'SHORTLIST',
  USER: 'USER',
} as const
export type ActivityEntityType = typeof ActivityEntityType[keyof typeof ActivityEntityType]

export interface ActivityEvent {
  id: string
  actorId: string            // user or system ID that triggered the event
  action: ActivityAction
  entityType: ActivityEntityType
  entityId: string
  timestamp: string
  metadata?: Record<string, unknown>
}
