@expofp/floorplan
Version:
Interactive floor plan library for expos and events
28 lines • 1.34 kB
TypeScript
import type { Wayfinding } from '@expofp/wayfinding';
import type { KioskHandler } from './handlers/kioskHandler';
import type { YahHandler } from './handlers/yahHandler';
import type { LayerStorePort, RouteStorePort, UiStatePort } from './storePorts';
interface BindMobxReactionsArgs {
readonly wayfinding: Pick<Wayfinding, 'setRoute' | 'clearRoute' | 'setPosition' | 'notifyFloorChanged' | 'shouldReroute'>;
readonly kioskHandler: KioskHandler;
readonly yahHandler: YahHandler;
readonly stores: {
readonly routeStore: RouteStorePort;
readonly uiState: UiStatePort;
readonly layerStore: LayerStorePort;
};
}
/**
* Wires the observable efp stores to the imperative wayfinding instance and
* the efp-side kiosk/yah handlers. Each reaction translates observable
* changes into neutral-typed imperative calls.
*
* Triggers `routeStore.rebuildRouteFromPosition` (via `wayfinding.shouldReroute`) 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({ wayfinding, kioskHandler, yahHandler, stores: { routeStore, uiState, layerStore }, }: BindMobxReactionsArgs): () => void;
export {};
//# sourceMappingURL=bindMobxReactions.d.ts.map