1 | import { AnyAction, Dispatch, Middleware, Reducer, Store, StoreEnhancer, Unsubscribe } from 'redux';
|
2 | import { NgZone } from '@angular/core';
|
3 | import { Observable } from 'rxjs';
|
4 | import { NgRedux } from './ng-redux';
|
5 | import { ObservableStore } from './observable-store';
|
6 | import { Comparator, Selector } from './selectors';
|
7 |
|
8 | export declare class RootStore<RootState> extends NgRedux<RootState> {
|
9 | private ngZone;
|
10 | private store;
|
11 | private store$;
|
12 | constructor(ngZone: NgZone);
|
13 | configureStore: (rootReducer: Reducer<RootState, AnyAction>, initState: RootState, middleware?: Middleware<{}, any, Dispatch<AnyAction>>[], enhancers?: StoreEnhancer<RootState, {}>[]) => void;
|
14 | provideStore: (store: Store<RootState, AnyAction>) => void;
|
15 | getState: () => RootState;
|
16 | subscribe: (listener: () => void) => Unsubscribe;
|
17 | replaceReducer: (nextReducer: Reducer<RootState, AnyAction>) => void;
|
18 | dispatch: Dispatch<AnyAction>;
|
19 | select: <SelectedType>(selector?: Selector<RootState, SelectedType>, comparator?: Comparator) => Observable<SelectedType>;
|
20 | configureSubStore: <SubState>(basePath: (string | number)[], localReducer: Reducer<SubState, AnyAction>) => ObservableStore<SubState>;
|
21 | private setStore;
|
22 | private storeToObservable;
|
23 | }
|