import type { IContext } from "./engine_types.js"; /** @internal */ export declare function _$WpMPwhP(): boolean; /** @internal */ export declare function _$CsMP(): boolean; /** @internal */ export declare function __TavamG(): boolean; /** @internal */ export declare function $GPtE(): boolean; /** @internal */ export declare function _bQKz(cb: (result: boolean) => void): void; export declare namespace Telemetry { export function init(): void; export function isAllowed(context: IContext | null | undefined): boolean; /** * Sends a telemetry event */ export function sendEvent(context: IContext | null | undefined, eventName: string, properties?: Record): Promise; type ErrorData = { message?: string; stack?: string; filename?: string; lineno?: number; colno?: number; timestamp?: number; /** Rejection/error reason constructor name (e.g. "TypeError", "AbortError"). */ name?: string; /** document.visibilityState at the time — "hidden" strongly implies a backgrounded-tab abort. */ visibility?: string; /** navigator.onLine at the time. */ online?: boolean; /** Best-effort request URL parsed from the rejection reason, when present. */ url?: string; /** Engine version, to correlate reports with releases. */ version?: string; }; export function sendError(context: IContext, errorName: string, error: ErrorData | ErrorEvent | Error): Promise; /** * Reports a scene load result (success/failure + timings) and, on success, a set of * non-identifying device capability buckets. Fired once per load. * No fingerprinting data (e.g. the unmasked GPU renderer/vendor string) is collected. */ export function reportLoad(context: IContext | null | undefined, info: { success: boolean; /** number of glTF/glb files loaded */ files: number; /** true if this load replaced an already-loaded scene (e.g. a src swap) rather than a cold start */ is_reload: boolean; /** duration of context.create() in ms */ load_ms: number; /** time from load start to first rendered frame in ms (success path only) */ first_frame_ms?: number; /** time from navigation start to first rendered frame in ms (success path only) */ since_navigation_ms?: number; /** failure category when success is false */ error?: string; }): void; /** * Attaches WebGL context-loss / -restored listeners to the renderer canvas (once per canvas) * and reports them. Context loss is a real-world GPU crash signal the engine had no visibility * into before. */ export function attachContextLossMonitor(context: IContext | null | undefined): void; /** * Accumulates a lightweight runtime performance summary (FPS, frame time, peak draw calls / * triangles) and reports it once per foreground segment when the page becomes hidden. * * The per-frame work is intentionally allocation-free: it only reads scalars the engine and * three.js already compute every frame (`time.deltaTimeUnscaled`, `renderer.info.render`) and * folds them into running accumulators. No GL state is queried in the loop — querying GL state * per frame would force a synchronous GPU-CPU stall. * * Skipped entirely when telemetry is opted out, so opted-out sessions pay zero overhead. */ export function attachPerformanceMonitor(context: IContext | null | undefined): void; export {}; } export declare function _$uRemv(): void; export declare let NFfXioqa: Promise | undefined;