UNPKG

5.26 kBTypeScriptView Raw
1import { Store } from "../src/index";
2import * as React from "react";
3export interface StoreProviderProps {
4 store: Store<{}>;
5}
6export declare class StoreProvider extends React.Component<StoreProviderProps, {}> {
7 render(): JSX.Element;
8}
9export declare const StoreConsumer: React.Consumer<Store<any> | undefined>;
10export interface StoreSliceProps<TAppState, TKey extends keyof TAppState> {
11 slice: (store: Store<TAppState>) => TKey;
12 initialState?: TAppState[TKey];
13 cleanupState?: TAppState[TKey] | "delete" | "undefined";
14}
15export declare class StoreSlice<TAppState, TKey extends keyof TAppState> extends React.Component<StoreSliceProps<TAppState, TKey>, {}> {
16 slice?: Store<TAppState[TKey]>;
17 componentWillUnmount(): void;
18 render(): JSX.Element;
19}
20export interface StoreProjectionProps<TState, TProjected> {
21 forwardProjection: (state: TState) => TProjected;
22 backwardProjection: (projectedState: TProjected, parentState: TState) => TState;
23 cleanup?: (state: TProjected, parentState: TState) => TState;
24 initial?: (state: TState) => TProjected;
25}
26export declare const StoreProjection: {
27 new <TState, TProjected>(props: Readonly<StoreProjectionProps<TState, TProjected>>): {
28 slice?: Store<TProjected> | undefined;
29 componentWillUnmount(): void;
30 render(): JSX.Element;
31 context: any;
32 setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<StoreProjectionProps<TState, TProjected>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
33 forceUpdate(callback?: (() => void) | undefined): void;
34 readonly props: Readonly<StoreProjectionProps<TState, TProjected>> & Readonly<{
35 children?: React.ReactNode;
36 }>;
37 state: Readonly<{}>;
38 refs: {
39 [key: string]: React.ReactInstance;
40 };
41 componentDidMount?(): void;
42 shouldComponentUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): boolean;
43 componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
44 getSnapshotBeforeUpdate?(prevProps: Readonly<StoreProjectionProps<TState, TProjected>>, prevState: Readonly<{}>): any;
45 componentDidUpdate?(prevProps: Readonly<StoreProjectionProps<TState, TProjected>>, prevState: Readonly<{}>, snapshot?: any): void;
46 componentWillMount?(): void;
47 UNSAFE_componentWillMount?(): void;
48 componentWillReceiveProps?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextContext: any): void;
49 UNSAFE_componentWillReceiveProps?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextContext: any): void;
50 componentWillUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): void;
51 UNSAFE_componentWillUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): void;
52 };
53 new <TState, TProjected>(props: StoreProjectionProps<TState, TProjected>, context?: any): {
54 slice?: Store<TProjected> | undefined;
55 componentWillUnmount(): void;
56 render(): JSX.Element;
57 context: any;
58 setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<StoreProjectionProps<TState, TProjected>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
59 forceUpdate(callback?: (() => void) | undefined): void;
60 readonly props: Readonly<StoreProjectionProps<TState, TProjected>> & Readonly<{
61 children?: React.ReactNode;
62 }>;
63 state: Readonly<{}>;
64 refs: {
65 [key: string]: React.ReactInstance;
66 };
67 componentDidMount?(): void;
68 shouldComponentUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): boolean;
69 componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
70 getSnapshotBeforeUpdate?(prevProps: Readonly<StoreProjectionProps<TState, TProjected>>, prevState: Readonly<{}>): any;
71 componentDidUpdate?(prevProps: Readonly<StoreProjectionProps<TState, TProjected>>, prevState: Readonly<{}>, snapshot?: any): void;
72 componentWillMount?(): void;
73 UNSAFE_componentWillMount?(): void;
74 componentWillReceiveProps?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextContext: any): void;
75 UNSAFE_componentWillReceiveProps?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextContext: any): void;
76 componentWillUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): void;
77 UNSAFE_componentWillUpdate?(nextProps: Readonly<StoreProjectionProps<TState, TProjected>>, nextState: Readonly<{}>, nextContext: any): void;
78 };
79 contextType?: React.Context<any> | undefined;
80};
81export declare class WithStore extends React.Component<{}, {}> {
82 render(): JSX.Element;
83}
84/**
85 * A react hook to obtain the current store, depending on the context.
86 */
87export declare function useStore<T = {}>(): Store<T>;
88
\No newline at end of file