import "reflect-metadata";
import * as Redux from "redux";
import { Constructable } from "../../types/constructable";
import { BaseProvider } from "../provider/provider";
import { ActionHandlerType } from "../action/action";
export interface ReduxProviderModuleOptions {
    providers?: Constructable<BaseProvider>[];
    middlewares?: Redux.Middleware[];
    actions: {
        [actionHandler: string]: Constructable<ActionHandlerType>;
    };
    rootReducer: Redux.Reducer<any, Redux.AnyAction>;
    initialState?: any;
}
export declare abstract class AbstractReduxModule {
}
export declare function ReduxModule<T extends AbstractReduxModule>(options: ReduxProviderModuleOptions): (moduleTarget: Constructable<T>) => void;
//# sourceMappingURL=module.decorator.d.ts.map