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