import { RedeemEventType, RedeemLogType } from '../enums'; export interface RedeemTransactionLogs { event: string; eventType: RedeemEventType; timestamp: number; type: RedeemLogType; body: any; } export interface InitialTransactionLog extends RedeemTransactionLogs { event: string; eventType: 'user'; timestamp: number; type: 'UserInitiallyTriggeredRedeemOption'; body: Record; } export interface MessagePostedTransactionLog extends RedeemTransactionLogs { event: string; eventType: 'internal'; timestamp: number; type: 'MessagePosted'; body: { isSuccess: boolean; origin: string; method: string; status: number; responseContentType: string; requestBody: Record; responseBody: Record; }; } export interface ExternalServerTriggeredEvent extends RedeemTransactionLogs { event: string; eventType: 'external'; timestamp: number; type: 'ExternalServerTriggeredEvent'; body: { payload: Record; }; } export interface InternalErrorEvent extends RedeemTransactionLogs { event: string; eventType: 'internal'; timestamp: number; type: 'InternalErrorEvent'; body: { description: string; error: Error; }; }