export declare enum METRIC_EVENT_NAME { REQUEST_COUNTER = "requests_count_total", STARTED_COUNTER = "started_count_total", COMPLETED_COUNTER = "completed_count_total", WEBSOCKET_CONNECTION_ATTEMPTS_COUNTER = "websocket_connection_attempts_total", WEBSOCKET_CONNECTION_SUCCESSFUL_COUNTER = "websocket_connection_successful_total", COMPLETION_TIME_SECONDS = "completion_time_seconds" } /** * The "local" context is Barcode Link loaded as an iframe from the customer's website. * * The "remote" context is everything happening on the remote device which loaded Barcode Link * by scanning the QR code. This device is usually a smartphone or a tablet. */ export type Context = "local" | "remote"; export type MetricEvent = { name: METRIC_EVENT_NAME.REQUEST_COUNTER; context: Context; } | { name: METRIC_EVENT_NAME.STARTED_COUNTER; context: Context; browser: string; browserVersion: string; flow: "headless" | "ui"; } | { name: METRIC_EVENT_NAME.COMPLETED_COUNTER; context: Context; browser: string; browserVersion: string; flow: "headless" | "ui"; platform: "express" | "web"; } | { name: METRIC_EVENT_NAME.WEBSOCKET_CONNECTION_ATTEMPTS_COUNTER; context: Context; browser: string; browserVersion: string; } | { name: METRIC_EVENT_NAME.WEBSOCKET_CONNECTION_SUCCESSFUL_COUNTER; context: Context; browser: string; browserVersion: string; } | { name: METRIC_EVENT_NAME.COMPLETION_TIME_SECONDS; timeSeconds: number; }; type Prettify = { [K in keyof T]: T[K]; } & {}; export type MetricPayload = Prettify, "name">>; export {};