export type ActionEventRecord = { id: string; userId: string; actionType: string; entityType: string; entityId: string; summary: string; beforeState: Record; afterState: Record; metadata: Record | null; createdAt: Date; undoneAt: Date | null; }; export type RecordActionInput = { userId: string; actionType: string; entityType: string; entityId: string; summary: string; beforeState: Record; afterState: Record; metadata?: Record; }; export interface ActionEventsRepository { recordAction(input: RecordActionInput): Promise; getActionEvent(id: string, userId: string): Promise; markUndone(id: string): Promise; }