import { AbstractLifeCycle } from '@datadog/browser-core' import type { Context } from '@datadog/browser-core' import type { LogsEvent } from '../logsEvent.types' import type { CommonContext, RawLogsEvent } from '../rawLogsEvent.types' import type { LogsEventDomainContext } from '../domainContext.types' export const enum LifeCycleEventType { RAW_LOG_COLLECTED, LOG_COLLECTED, } interface LifeCycleEventMap { [LifeCycleEventType.RAW_LOG_COLLECTED]: RawLogsEventCollectedData [LifeCycleEventType.LOG_COLLECTED]: LogsEvent & Context } export const LifeCycle = AbstractLifeCycle export type LifeCycle = AbstractLifeCycle export interface RawLogsEventCollectedData { rawLogsEvent: E messageContext?: Context savedCommonContext?: CommonContext domainContext?: LogsEventDomainContext ddtags?: string[] }