/**
 * Timeline API Models
 * Models for request timeline and event tracking
 */

export type TimelineEventType =
  | 'CREATED'
  | 'SUBMITTED'
  | 'STATUS_CHANGED'
  | 'DOCUMENT_ADDED'
  | 'DOCUMENT_UPDATED'
  | 'APPROVAL_REQUESTED'
  | 'APPROVAL_GRANTED'
  | 'APPROVAL_REJECTED'
  | 'APPROVAL_INVALIDATED'
  | 'COMMENTS_ADDED'
  | 'CANCELLED';

export interface TimelineEventDto {
  id: string;
  requestId: string;
  eventType: TimelineEventType;
  description: string;
  actor?: string;
  metadata: Record<string, any>;
  timestamp: string;
  blockchainTxHash?: string;
}
