import { StoreKeys, UIStoreType, UIStoreStateData, UIStoreUpdaterFn } from '@ui-schema/ui-schema/UIStore'; import { UIStoreAction, UIStoreActions, UIStoreUpdaterData } from '@ui-schema/ui-schema/UIStoreActions'; export type ScopeOnChangeHandler> = (store: S, storeKeys: StoreKeys, newValue: any, action?: A | undefined) => S; export type ScopeUpdaterMapType> = { [k in keyof D]: ({ setter: (store: S, storeKeys: StoreKeys, newValue: any, action?: A | undefined) => S; getter: (storeKeys: StoreKeys, store: S) => any; } | { /** * experimental, skips the store setter/getter for a specific scope */ noStore: true; }); }; export declare const getScopedValueFactory: = UIStoreStateData>(scope: keyof D, nestKey?: string) => >(storeKeys: StoreKeys, store: S) => unknown; export declare const scopeUpdaterMapDefault: ScopeUpdaterMapType; export declare const createStoreUpdater: = UIStoreType, D extends UIStoreUpdaterData = UIStoreUpdaterData, A extends UIStoreAction = UIStoreActions, SM extends ScopeUpdaterMapType = ScopeUpdaterMapType>(actionReducers: (action: A) => D | UIStoreUpdaterFn, scopeUpdaterMap: SM) => (actions: A | A[]) => (oldStore: S) => S; export declare const storeUpdater: = UIStoreType, D extends UIStoreUpdaterData = UIStoreUpdaterData, A extends UIStoreActions = UIStoreActions>(actions: A | A[]) => (oldStore: S) => S;