import { Actions } from "./types"; export interface IStore { middleware: Function; setState: Function; subscribe: Function; getState: Function; actions: (creater: any) => IStore; getActions: () => any; } export declare function action(arg1?: any, arg2?: any, arg3?: any): any; export declare class Store implements IStore { static middlewares: Function[]; static defaultConfig: { pure: boolean; }; static use(...middleware: any[]): void; private listeners; middleware: any; protected _actions: Actions; protected state: S; constructor(initialState?: S, ...middlewares: any[]); getState(): S; setState(update: any): void; subscribe(f: any): () => void; getActions(): any; actions(creater: (self: this) => any): this; } export declare function createStore(initState?: S, ...middlewares: any[]): Store;