import { Middleware, StoreEnhancer } from 'redux';
import { Options } from 'redux-first-router';
import { REDUCER_STORAGE_TYPE } from '@snipsonian/redux/cjs/config/storageType';
import { TTransformReducerStateForStorage } from '@snipsonian/redux/cjs/reducer/reducerManager';
import { IBaseRoutes } from '../route/types';
export interface IConfigureOptions<ReducerState> {
    reducerKey?: string;
    routes?: IBaseRoutes;
    initialDispatch?: boolean;
    reducerStorageType?: REDUCER_STORAGE_TYPE;
    transformReducerStateForStorage?: TTransformReducerStateForStorage<ReducerState>;
    otherRouterOptions?: Partial<Options>;
}
interface IConfiguredRouter {
    middleware: Middleware;
    enhancer: StoreEnhancer;
}
export default function configureRouter<ReducerState>({ reducerKey, routes, initialDispatch, reducerStorageType, transformReducerStateForStorage, otherRouterOptions, }: IConfigureOptions<ReducerState>): IConfiguredRouter;
export {};
