UNPKG

react-torch

Version:

A lib to server-side render with react.

39 lines (38 loc) 1.58 kB
import { createLifeCircleManager } from './lifecircle'; import type { Store, PreloadedState } from 'redux'; declare type AnyFn = (...args: any) => any; declare type Actions = { [key: string]: AnyFn | Actions; }; export declare type Initializer<S = any> = (...args: any) => { store: Store<S>; actions: Actions; }; export declare type InitializerState<I extends Initializer> = I extends (...args: any) => { store: Store<infer S>; actions: Actions; } ? S : never; export declare type InitializerActions<I extends Initializer> = I extends (...args: any) => { store: Store; actions: infer A; } ? A : never; export declare type CreatePureModelOptions<I extends Initializer> = { preloadedState?: PreloadedState<InitializerState<I>>; }; export declare const createPureModel: <I extends Initializer<any>>(initializer: I, options?: CreatePureModelOptions<I>) => ReturnType<I> & { preload: import("./callback").CallbackManager; start: import("./callback").SyncCallbackManager; finish: import("./callback").SyncCallbackManager; }; export declare type Model<S = any> = { store: Store<S>; actions: Actions; } & ReturnType<typeof createLifeCircleManager>; export declare function subscribe<S>(model: Model<S>, listener: (state: S) => void): import("redux").Unsubscribe; export declare function select<S, TSelected = unknown>(options: { model: Model<S>; selector: (state: S) => TSelected; listener: (state: TSelected) => void; compare?: (curr: TSelected, prev: TSelected) => boolean; }): import("redux").Unsubscribe; export {};