import type { ServerDuration } from '@octopus-sdk/browser-core'; import { ResourceType } from '@octopus-sdk/browser-core'; import type { RumPerformanceResourceTiming } from '../../browser/performanceObservable'; import type { ResourceEntryDetailsElement } from '../../rawRumEvent.type'; import type { RumConfiguration } from '../configuration/configuration'; export interface ResourceEntryDetails { redirect?: ResourceEntryDetailsElement; dns?: ResourceEntryDetailsElement; connect?: ResourceEntryDetailsElement; ssl?: ResourceEntryDetailsElement; first_byte?: ResourceEntryDetailsElement; download?: ResourceEntryDetailsElement; } export declare const FAKE_INITIAL_DOCUMENT = "initial_document"; export declare function computeResourceEntryDuration(entry: RumPerformanceResourceTiming): ServerDuration; export declare function computeResourceEntryDetails(entry: RumPerformanceResourceTiming): ResourceEntryDetails | undefined; export declare function computeResourceEntrySize(entry: RumPerformanceResourceTiming): { size: number; encoded_body_size: number; decoded_body_size: number; transfer_size: number; } | { size: undefined; encoded_body_size: undefined; decoded_body_size: undefined; transfer_size: undefined; }; export declare function computeResourceEntryType(entry: RumPerformanceResourceTiming): ResourceType; /** * Entries with negative duration are unexpected and should be dismissed. The intake will ignore RUM * Resource events with negative durations anyway. * Since Chromium 128, more entries have unexpected negative durations, see * https://issues.chromium.org/issues/363031537 */ export declare function hasValidResourceEntryDuration(entry: RumPerformanceResourceTiming): boolean; export declare function isResourceEntryRequestType(entry: RumPerformanceResourceTiming): boolean; export declare function isAllowedRequestUrl(configuration: RumConfiguration, url: string): boolean | ""; export declare function hasValidResourceEntryTimings(entry: RumPerformanceResourceTiming): boolean; export declare const MAX_ATTRIBUTE_VALUE_CHAR_LENGTH = 24000; export declare function isLongDataUrl(url: string): boolean; export declare function sanitizeDataUrl(url: string): string;