import { Injector, ModuleWithProviders } from '@angular/core';
import { Store, StoreEnhancer, StoreEnhancerStoreCreator } from 'redux';
import { ReduxModuleChildConfig } from './module/child/config';
import { ReduxModuleRootConfig } from './module/root/config';
import { StateDefinition } from './state/definition';
export declare class ReduxModule {
    private injector;
    constructor(stateDef: StateDefinition, store: Store<{}>, injector: Injector);
    private initState(stateDef);
    static forChild(config?: ReduxModuleChildConfig): ModuleWithProviders;
    static forRoot(config?: ReduxModuleRootConfig): ModuleWithProviders;
    static defaultStoreFactory(): Store<{}>;
    static defaultEnhancerFactory(): StoreEnhancer<{}>;
    static nullEnhancer(next: StoreEnhancerStoreCreator<{}>): StoreEnhancerStoreCreator<{}>;
}
