export type NotificationEventType =
  | 'order:created'
  | 'order:statusChanged'
  | 'orderMessage:sent'
  | 'orderMessage:adminReply'
  | 'payment:statusChanged'
  | 'auth:codeRequested'
  | 'order:deliveryFeeAdjusted'

export type NotificationChannel = 'email' | 'telegram'

export type NotificationStatus = 'pending' | 'sent' | 'failed'

export const NOTIFICATION_EVENTS: {
  ORDER_CREATED: NotificationEventType
  ORDER_STATUS_CHANGED: NotificationEventType
  ORDER_MESSAGE_SENT: NotificationEventType
  ORDER_MESSAGE_ADMIN_REPLY: NotificationEventType
  PAYMENT_STATUS_CHANGED: NotificationEventType
  AUTH_CODE_REQUESTED: NotificationEventType
  DELIVERY_FEE_ADJUSTED: NotificationEventType
}

export const NOTIFICATION_CHANNELS: {
  EMAIL: NotificationChannel
  TELEGRAM: NotificationChannel
}

export const NOTIFICATION_STATUSES: {
  PENDING: NotificationStatus
  SENT: NotificationStatus
  FAILED: NotificationStatus
}

export const MAX_RETRY_ATTEMPTS: number
export const RETRY_DELAYS_MS: number[]
