import type { MakeTaggedBusinessEvent } from "../businessEventsReporter"; import type { MetricsEventTarget } from "../metricsEventTarget"; /** * The LensWait metric measures the time spent downloading the lens content and required assets. It gives an indication * of the real UX impact of download latency. If lens content and assets are pre-loaded, the latency measured here * should decrease – we measure between the request to apply a lens and when the lens is ready to render. * * @category Lenses * @category Metrics */ export type LensWait = MakeTaggedBusinessEvent<"lensWait">; /** * Each time a lens is applied, we measure the duration until the lens is fully loaded by LensCore. This * includes any time spent downloading the lens content and required assets from the lens manifest. * * The intention of this event is to measure the experienced UX latency between a user requesting a lens and * the lens rendering. Of course, the application may call `applyLens` at any time, and may hide/show the * rendered result at any time – but this should give us a good baseline for how much UX latency could be seen. * * @internal */ export declare const reportLensWait: { (args_0: 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_1: MetricsEventTarget): void; token: "reportLensWait"; dependencies: readonly ["lensState", "metricsEventTarget"]; }; //# sourceMappingURL=reportLensWait.d.ts.map