import { StonexModules, StonexStore } from '.' /** * StoreBinder it is structure which helps Stonex Module to connect with Store */ export declare interface StoreBinder { getState: () => State, moduleName: string modules: StonexModules resetState: (callback?: (state: any) => any) => void setState: (changes: (((state: State) => Partial) | Partial), callback?: (state: State) => any) => any } /** * Function which creates and returns StoreBinder * * @param {string} moduleName * @param {StonexStore} store */ export const createStoreBinder = ( moduleName: string, store: StonexStore, ): StoreBinder => ({ getState: store.getState.bind(store, moduleName), moduleName, modules: store.modules, resetState: store.resetState.bind(store, moduleName), setState: store.setState.bind(store, moduleName), })