UNPKG

907 BTypeScriptView Raw
1import { Observable } from 'rxjs';
2import { t } from '../common';
3declare type O = Record<string, unknown>;
4export declare class Store<M extends O, E extends t.IStoreEvent> implements t.IStore<M, E> {
5 static create<M extends O, E extends t.IStoreEvent>(args: t.IStoreArgs<M>): t.IStore<M, E>;
6 private constructor();
7 dispose(): void;
8 private readonly _dispose$;
9 private readonly _event$;
10 private readonly _changing$;
11 private readonly _changed$;
12 private readonly _;
13 readonly dispose$: Observable<void>;
14 readonly changing$: Observable<t.IStateChanging<M, E>>;
15 readonly changed$: Observable<t.IStateChange<M, E>>;
16 readonly event$: Observable<t.IDispatch<M, E, E>>;
17 get isDisposed(): boolean;
18 get state(): M;
19 dispatch(event: E): this;
20 on<E2 extends E>(type: E2['type']): Observable<t.IDispatch<M, E2, E>>;
21 private toDispatchEvent;
22}
23export {};