import { Provider } from '@angular/core'; import { Observable, Observer, Operator } from 'rxjs'; import { ActionsSubject } from './actions_subject'; import { Action, ActionReducer, FunctionIsNotAllowed } from './models'; import { ReducerManager } from './reducer_manager'; import { StateObservable } from './state'; export declare class Store extends Observable implements Observer { private actionsObserver; private reducerManager; constructor(state$: StateObservable, actionsObserver: ActionsSubject, reducerManager: ReducerManager); select(mapFn: (state: T) => K): Observable; /** * @deprecated Selectors with props are deprecated, for more info see {@link https://github.com/ngrx/platform/issues/2980 Github Issue} */ select(mapFn: (state: T, props: Props) => K, props: Props): Observable; select(key: a): Observable; select(key1: a, key2: b): Observable; select(key1: a, key2: b, key3: c): Observable; select(key1: a, key2: b, key3: c, key4: d): Observable; select(key1: a, key2: b, key3: c, key4: d, key5: e): Observable; select(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f): Observable; select(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f, ...paths: string[]): Observable; lift(operator: Operator): Store; dispatch(action: V & FunctionIsNotAllowed): void; next(action: Action): void; error(err: any): void; complete(): void; addReducer(key: string, reducer: ActionReducer): void; removeReducer>(key: Key): void; } export declare const STORE_PROVIDERS: Provider[]; export declare function select(mapFn: (state: T) => K): (source$: Observable) => Observable; /** * @deprecated Selectors with props are deprecated, for more info see {@link https://github.com/ngrx/platform/issues/2980 Github Issue} */ export declare function select(mapFn: (state: T, props: Props) => K, props: Props): (source$: Observable) => Observable; export declare function select(key: a): (source$: Observable) => Observable; export declare function select(key1: a, key2: b): (source$: Observable) => Observable; export declare function select(key1: a, key2: b, key3: c): (source$: Observable) => Observable; export declare function select(key1: a, key2: b, key3: c, key4: d): (source$: Observable) => Observable; export declare function select(key1: a, key2: b, key3: c, key4: d, key5: e): (source$: Observable) => Observable; export declare function select(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f): (source$: Observable) => Observable; export declare function select(key1: a, key2: b, key3: c, key4: d, key5: e, key6: f, ...paths: string[]): (source$: Observable) => Observable;