import { IState } from "@gongt/ts-stl-client/redux/preload-state"; import { ReduxStore } from "@gongt/ts-stl-client/redux/store"; import { IVirtualStoreConstructor } from "@gongt/ts-stl-client/redux/virtual-store"; import { GlobalVariable } from "@gongt/ts-stl-library/pattern/global-page-data"; import { Request } from "express-serve-static-core"; import { HtmlContainer, IContainerPlugin } from "../middlewares/html-render"; export interface IPreloadStateLoader { (request: ER, global: GlobalVariable, preload: State): void; } export interface IReduxSubStateLoader { (request: ER, global: GlobalVariable): State[keyof State]; } export declare class ReduxStoreExpress extends ReduxStore implements IContainerPlugin<{}> { protected loader: IPreloadStateLoader[]; protected logic: ReduxStore; __modify_html(html: HtmlContainer): void; addPreloadState(loader: IPreloadStateLoader): void; registerPreload(Constructor: IVirtualStoreConstructor, loader: IReduxSubStateLoader): void; register(Constructor: IVirtualStoreConstructor, loader?: IReduxSubStateLoader): void; } export interface ReduxContextModifier { (req: Request & any): VI; }