@expofp/floorplan
Version:
Interactive floor plan library for expos and events
35 lines • 1.6 kB
TypeScript
import type LayerStore from "../store/LayerStore";
import type RouteStore from "../store/RouteStore";
import type UIState from "../store/UIState";
import type { KioskHandler } from "./handlers/kioskHandler";
import type { YahHandler } from "./handlers/yahHandler";
import type { WayfindingRuntime } from "./runtime/types";
interface BindMobxReactionsArgs {
readonly runtime: WayfindingRuntime;
readonly kioskHandler: KioskHandler;
readonly yahHandler: YahHandler;
readonly stores: {
readonly routeStore: RouteStore;
readonly uiState: UIState;
readonly layerStore: LayerStore;
};
/** Plan-scale-aware reroute threshold (SVG units). Computed by
* `createWayfinding` from `fpGeo` and passed in — keeps this module
* free of plan-config knowledge. */
readonly rerouteThresholdSvg: number;
}
/**
* Wires the observable efp stores to the imperative wayfinding runtime and
* the efp-side kiosk/yah handlers. Each reaction translates observable
* changes into neutral-typed imperative calls.
*
* Also owns the reroute controller (closure-scoped, no module globals) and
* triggers `routeStore.rebuildRouteFromPosition` when the live CP needs to
* become (or refresh) the route's FROM.
*
* Returns a dispose function that tears down all reactions plus the deferred
* floor-change timeout.
*/
export declare function bindMobxReactions({ runtime, kioskHandler, yahHandler, stores: { routeStore, uiState, layerStore }, rerouteThresholdSvg, }: BindMobxReactionsArgs): () => void;
export {};
//# sourceMappingURL=bindMobxReactions.d.ts.map