import type { MetricsEventTarget } from "../metricsEventTarget"; import type { CameraKitSession } from "../../session/CameraKitSession"; import type { MakeTaggedBusinessEvent } from "../businessEventsReporter"; import type { CameraKitConfiguration } from "../../configuration"; import type { MetricsClient } from "../../clients/metricsClient"; /** * The LensView metric is emitted after a lens has been viewed (for longer than 100ms), when the lens is turned off. * * It contains information about rendering performance. * * Notes: * - If the page is hidden (e.g. user switches to a different tab, or application, or closes the tab, or closes the * browser, navigates to a new page, refreshes, etc.) this metric will be emitted at that time. This is to ensure * we don't lose the metric if the page is closed. * - If the page is hidden and then made visible again later (e.g. user switches to a different tab, then back), we * will begin measuring a new LensView. That is, we will not capture the time when the page is hidden even if the * lens is still rendering in the background. * * @category Lenses * @category Metrics */ export type LensView = MakeTaggedBusinessEvent<"lensView">; /** * @internal */ export declare const reportLensView: { (args_0: CameraKitSession, args_1: import("@snap/state-management").StateMachine | import("@snap/state-management").Action<"downloadComplete", import("../..").Lens> | import("@snap/state-management").Action<"turnedOn", import("../..").Lens> | import("@snap/state-management").Action<"resourcesLoaded", import("../..").Lens> | import("@snap/state-management").Action<"firstFrameProcessed", import("../..").Lens> | import("@snap/state-management").Action<"applyLensComplete", import("../..").Lens> | import("@snap/state-management").Action<"applyLensFailed", { error: import("../../session/lensState").LensErrors; lens: import("../..").Lens; }> | import("@snap/state-management").Action<"applyLensAborted", import("../..").Lens> | import("@snap/state-management").Action<"removeLens", undefined> | import("@snap/state-management").Action<"turnedOff", import("../..").Lens> | import("@snap/state-management").Action<"removeLensComplete", undefined> | import("@snap/state-management").Action<"removeLensFailed", Error>, import("@snap/state-management").State<"noLensApplied", undefined> | import("@snap/state-management").State<"applyingLens", import("../..").Lens> | import("@snap/state-management").State<"lensApplied", import("../..").Lens>>, args_2: import("@snap/state-management").StateMachine | import("@snap/state-management").Action<"resume", CameraKitSession> | import("@snap/state-management").Action<"destroy", undefined>, import("@snap/state-management").State<"inactive", undefined> | import("@snap/state-management").State<"active", CameraKitSession> | import("@snap/state-management").State<"destroyed", undefined>>, args_3: MetricsEventTarget, args_4: MetricsClient, args_5: CameraKitConfiguration): Promise; token: "reportLensView"; dependencies: readonly ["CameraKitSession", "lensState", "sessionState", "metricsEventTarget", "metricsClient", "configuration"]; }; //# sourceMappingURL=reportLensView.d.ts.map