import { IAData, IReduxActionConstructor, ISingleReducer } from "./action"; import { IReducerInfo } from "./combine-reducers"; import { IState } from "./preload-state"; export interface IVirtualStore { getReducers?(): IReducerInfo[]; name: string; defaultValue?: ValueInterface; } export interface IVirtualStoreConstructor { new (): IVirtualStore; name: string; } /** only use in this file */ export interface IVirtualStoreClass { new (): VirtualStore; name: string; } export declare function reduce(Constructor: IVirtualStoreClass, Action: IReduxActionConstructor, ...reducer: ISingleReducer[]): void; export declare function reduceAny(Constructor: IVirtualStoreClass, Action: IReduxActionConstructor, ...reducer: ISingleReducer[]): void; export declare function extractorOf(vs: IVirtualStoreClass): (state: IState) => VI; export declare function subExtractorOf(vs: IVirtualStoreClass, key: KT): (state: IState) => any; export declare abstract class VirtualStore implements IVirtualStore { private reducers; readonly name: string; readonly defaultValue: ValueInterface; static readonly ANY: string; constructor(); protected reduce(Action: IReduxActionConstructor, ...reducer: ISingleReducer[]): void; protected reduceAny(Action: IReduxActionConstructor, ...reducer: ISingleReducer[]): void; getReducers(): IReducerInfo[]; }