/** * ARMS RUM Electron – Preload script type declarations. * * This module is intended to be used as an Electron preload script. * It automatically sets up the IPC bridge between renderer and main process. * * Usage: * session.setPreloads([require.resolve('@arms/rum-electron/preload')]) */ /** Exposes `ArmsEventBridge` to the renderer via contextBridge / window */ export declare function setupRendererBridge(): void; /** * Custom reporting facade exposed to the renderer as `window.ArmsRum`. * Payloads are forwarded via IPC to the main process, where validation and * event assembly reuse the rum-core Shell methods (same semantics as the * main-process `armsRum.sendXxx` APIs). */ export interface ArmsRumApi { /** 自定义事件上报,要求 payload 包含 name 和 type 字段 */ sendCustom(payload: Record): void; /** * 自定义视图上报。 * 注意:视图 URL 由 SDK 自动采集当前页面地址,payload 中的 url 字段会被忽略 */ sendView(payload: Record): void; /** 自定义异常上报,支持直接传入 Error 实例或包含 name/message 的对象 */ sendException(payload: Record | Error): void; /** 自定义资源上报 */ sendResource(payload: Record): void; } /** Exposes `ArmsRum` custom reporting facade to the renderer via contextBridge / window */ export declare function setupCustomReportApi(): void; declare global { interface Window { /** ARMS RUM custom reporting API, available after the preload script runs */ ArmsRum?: ArmsRumApi; } }