import { BoundBeaconTracker } from '@fanfare-io/fanfare-sdk-core/beacon'; import { Accessor } from 'solid-js'; /** * Experience currently rendering around the consumer, as an accessor. * `ExperienceWidget` publishes its `experienceId` here so descendants (slots, * render-prop children, storefront components) can attribute beacon events * without threading the id through props. It is an accessor, not a bare string, * because Solid runs component setup once: a tracker must read the value at * track time so a later change to the widget's `experienceId` prop is honored. * Returns `null` outside any experience. */ export declare const ExperienceIdContext: import('solid-js').Context>; /** * Creates a beacon tracker scoped to an experience. * * With no argument the tracker binds to the enclosing `ExperienceWidget`'s * experience; pass an `experienceId` to bind explicitly (an override, or for use * outside a widget). Called with neither an argument nor a surrounding * experience, it throws rather than silently emitting unattributed events. * * The bound experience is resolved at each `track`/`trackBatch` call, so if the * enclosing widget's `experienceId` changes, subsequent events follow it. * * @param experienceId - Experience to bind to; defaults to the enclosing widget's * @returns A tracker whose `track`/`trackBatch` stamp events with the experience * and, once routed, the sequence */ export declare function createBeaconTracker(experienceId?: string): BoundBeaconTracker;