import "./Manager-CQQ99QOI.js"; import { n as Flow } from "./types-KPvmag_B.js"; import { n as FinishStatus } from "./flowCompletionService-BlAHsKyv.js"; //#region src/internal/flow-events/flowEvents.d.ts type FlowStartedEvent = { type: 'flow.started'; interviewId?: string; timestamp: number; }; type FlowReadyEvent = { type: 'flow.ready'; interviewId?: string; flowId?: string; payload: { flow: Flow; steps: string[]; currentStep?: string; currentStepIndex: number; }; timestamp: number; }; type FlowCompletedEvent = { type: 'flow.completed'; interviewId?: string; flowId?: string; payload?: FinishStatus; timestamp: number; }; type FlowErrorEvent = { type: 'flow.error'; interviewId?: string; flowId?: string; error: string; timestamp: number; }; type FlowClosedEvent = { type: 'flow.closed'; interviewId?: string; flowId?: string; timestamp: number; }; type FlowModuleStartedEvent = { type: 'flow.module.started'; interviewId?: string; flowId?: string; module: string; payload: { moduleIndex?: number; totalModules?: number; }; timestamp: number; }; type FlowModuleCompletedEvent = { type: 'flow.module.completed'; interviewId?: string; flowId?: string; module: string; payload: { moduleIndex?: number; totalModules?: number; }; timestamp: number; }; /** * Curated flow event for consumers that need stable integration milestones. * * This local-only stream covers high-level flow state changes such as loading, * readiness, module changes, completion, errors, and closure. For raw analytics * events such as `screenOpened`, `elementClicked`, and * `captureAttemptFinished`, use `Event` from `@incodetech/core/events`. */ type FlowEvent = FlowStartedEvent | FlowReadyEvent | FlowCompletedEvent | FlowErrorEvent | FlowClosedEvent | FlowModuleStartedEvent | FlowModuleCompletedEvent; type FlowEventListener = (event: FlowEvent) => void; /** * Manager API for subscribing to curated flow milestones emitted by that * specific manager instance. * * For raw SDK analytics events such as `screenOpened`, `elementClicked`, and * `captureAttemptFinished`, use `subscribeEvent` from `@incodetech/core/events`. */ type FlowEventSubscribable = { /** * Subscribes to curated flow milestones for this manager instance. * * Use this local-only stream for product and integration milestones such as * `flow.started`, `flow.ready`, `flow.module.started`, * `flow.module.completed`, `flow.completed`, and `flow.error`. * * This stream does not queue events or post to the analytics API. * * @param listener - Callback function that receives each flow event. * @returns Unsubscribe function to remove the listener. */ subscribeFlowEvent(listener: FlowEventListener): () => void; }; //#endregion export { FlowEventListener as a, FlowModuleStartedEvent as c, FlowEvent as i, FlowReadyEvent as l, FlowCompletedEvent as n, FlowEventSubscribable as o, FlowErrorEvent as r, FlowModuleCompletedEvent as s, FlowClosedEvent as t, FlowStartedEvent as u };