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