/** * * Copyright 2020-2026 Splunk Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { ExternalSessionMetadata } from './external-session-metadata'; declare global { interface Window { SplunkRumExternal?: { getSessionMetadata: () => NonNullable; }; SplunkRumNative?: { getNativeSessionId: () => string; }; __splunkRumIntegrationTestSessionId?: string; } interface Navigator { readonly connection?: { readonly downlink?: number; readonly effectiveType?: string; readonly rtt?: number; readonly saveData?: boolean; readonly type?: string; }; readonly deviceMemory?: number; readonly pdfViewerEnabled?: boolean; readonly userAgentData?: { brands?: Array<{ brand: string; version: string; }>; mobile?: boolean; platform?: string; getHighEntropyValues(hints: string[]): Promise<{ architecture?: string; bitness?: string; brands?: Array<{ brand: string; version: string; }>; fullVersionList?: Array<{ brand: string; version: string; }>; mobile?: boolean; model?: string; platform?: string; platformVersion?: string; uaFullVersion?: string; wow64?: boolean; } | undefined>; }; } interface Performance { readonly memory?: { readonly jsHeapSizeLimit?: number; readonly totalJSHeapSize?: number; readonly usedJSHeapSize?: number; }; } }