import { StoreEnhancer } from "@reduxjs/toolkit";
import { RemoteReduxServerAddress, PromiseDispatch } from "./types";
/**
 * Creates the client side of a remote redux.
 * Exposes a store enhancer that will synchronize a copy of a slice of state.
 * Initially used in the Interop Service and Linker UI.
 *
 * @param param.server - The string "address" of the remote redux server (see RemoteReduxServerAddress type for valid addresses)
 * @param param.slice - Th slice of state to observe and synchronize (i.e. rootState[slice])
 * @param param.dispatchOnly - If set to true then the remote store will not subscribe to updates. This reduces network traffic for situations that are write only.
 */
export declare const remoteReduxClientEnhancer: ({ server, slice, dispatchOnly, }: {
    server: RemoteReduxServerAddress;
    slice: string;
    dispatchOnly?: boolean;
}) => StoreEnhancer<{
    dispatch: PromiseDispatch;
}>;
/**
 * Creates the server side of a remote redux. This enhancer should be added before DevTools.instrument().
 *
 * @param param.server string The router channel that this server should listen on
 */
export declare const remoteReduxServerEnhancer: ({ server }: {
    server: RemoteReduxServerAddress;
}) => StoreEnhancer<{
    dispatch: PromiseDispatch;
}>;
//# sourceMappingURL=remoteReduxEnhancer.d.ts.map