import * as React from "react";
import type { IMapProviderContext } from './base';
import type { IApplicationState } from "../../api/common";
/**
 * Wraps the provider component of react-redux
 *
 * @since 0.14
 */
export declare const ReduxProvider: React.FC<{
    store: ReduxStoreImpl;
}>;
/**
 * Wraps useDispatch from react-redux
 *
 * @since 0.14
 */
export declare function useReduxDispatch(): import("redux").Dispatch<any>;
/**
 * Fetches the requested sub-section of the application state
 *
 * @since 0.14
 */
export declare function useAppState<TState>(selector: (state: IApplicationState) => TState, equalityFn?: (left: TState, right: TState) => boolean): TState;
/**
 * @since 0.14
 */
export declare const MapProviderContextProvider: React.FC<{
    value: IMapProviderContext;
}>;
/**
 * Obtains the current map provider context, which provides imperative access to the current map
 *
 * @since 0.14
 */
export declare function useMapProviderContext(): IMapProviderContext;
/**
 * @since 0.14
 */
export declare type ReduxStoreImpl = any;
/**
 * @since 0.14
 */
export declare const MapContextProvider: React.FC<{
    value: IMapProviderContext;
    store?: ReduxStoreImpl;
}>;
