import { NavigationTimingInstrumentationConfig } from "./types.js"; import { InstrumentationBase } from "@opentelemetry/instrumentation"; //#region src/navigation-timing/instrumentation.d.ts /** * This class automatically instruments navigation timing within the browser. */ declare class NavigationTimingInstrumentation extends InstrumentationBase { private _lastEntry?; private _completeDelayTimeoutId?; private _retryCount; private _didEmit; private _isEnabled; private _onLoad; private _onPageHide; constructor(config?: NavigationTimingInstrumentationConfig); protected init(): never[]; enable(): void; disable(): void; private _getLatestNavigationEntry; private _calculateBackoffDelay; /** * Attempts to emit the navigation timing event. * * - Emits immediately if a complete `PerformanceNavigationTiming` entry is available. * - If the page is still loading, waits for `window.load` and retries. * - If the page is already loaded but the entry is not finalized yet, schedules one * deferred re-check (to allow the browser to populate the timing fields). * * This method can be called multiple times (from `enable()`, the load handler, or the * deferred timeout), so it must be safe to re-enter. */ private _tryEmitOrSchedule; private _handleUnload; private _emitAndCleanup; private _emitNavigationTiming; private _unsubscribeAll; } //#endregion export { NavigationTimingInstrumentation }; //# sourceMappingURL=instrumentation.d.ts.map