import type { ClocksState, Duration, Observable } from '@openobserve/browser-core'; import type { ViewLoadingType } from '../../../rawRumEvent.types'; import type { RumConfiguration } from '../../configuration'; import type { LifeCycle } from '../../lifeCycle'; import type { RumMutationRecord } from '../../../browser/domMutationObservable'; import type { CumulativeLayoutShift } from './trackCumulativeLayoutShift'; import type { InteractionToNextPaint } from './trackInteractionToNextPaint'; import type { ScrollMetrics } from './trackScrollMetrics'; export interface CommonViewMetrics { loadingTime?: Duration; cumulativeLayoutShift?: CumulativeLayoutShift; interactionToNextPaint?: InteractionToNextPaint; scroll?: ScrollMetrics; } export declare function trackCommonViewMetrics(lifeCycle: LifeCycle, domMutationObservable: Observable, windowOpenObservable: Observable, configuration: RumConfiguration, scheduleViewUpdate: () => void, loadingType: ViewLoadingType, viewStart: ClocksState): { stop: () => void; stopINPTracking: () => void; setLoadEvent: (loadEvent: Duration) => void; setViewEnd: (viewEndTime: import("@openobserve/browser-core").RelativeTime) => void; getCommonViewMetrics: () => CommonViewMetrics; };