// Keep the following in sync with packages/rum-slim/src/entries/main.ts import { defineGlobal, getGlobalObject } from '@datadog/browser-core' import type { RumPublicApi } from '@datadog/browser-rum-core' import { makeRumPublicApi, startRum } from '@datadog/browser-rum-core' import { startRecording } from '../boot/startRecording' import { makeRecorderApi } from '../boot/recorderApi' export { CommonProperties, RumPublicApi as RumGlobal, RumInitConfiguration, // Events RumEvent, RumActionEvent, RumErrorEvent, RumLongTaskEvent, RumResourceEvent, RumViewEvent, // Events context RumEventDomainContext, RumViewEventDomainContext, RumErrorEventDomainContext, RumActionEventDomainContext, RumFetchResourceEventDomainContext, RumXhrResourceEventDomainContext, RumOtherResourceEventDomainContext, RumLongTaskEventDomainContext, } from '@datadog/browser-rum-core' export { DefaultPrivacyLevel } from '@datadog/browser-core' const recorderApi = makeRecorderApi(startRecording) export const datadogRum = makeRumPublicApi(startRum, recorderApi) interface BrowserWindow extends Window { DD_RUM?: RumPublicApi } defineGlobal(getGlobalObject(), 'DD_RUM', datadogRum)