import { ModelStateType } from '../../models/model-state'; import { Action, MetaSliceSelectors, SetAction, SliceSetActions, SliceSelectors, SliceStateActions } from '../../types'; import { SetState } from 'zustand'; export declare type ModelSliceSelectors = ModelSliceStateActions> = SliceSelectors, TSliceActions> & MetaSliceSelectors & { selectModel: (state: TAppState) => TModel; }; export declare type ModelSliceSetActions = SliceSetActions & { set: SetAction; update: SetAction; }; export declare type ModelSliceStateActions = SliceStateActions & { set: Action<[TModel]>; update: Action<[TModel]>; }; export declare type ModelSliceState = ModelSliceStateActions> = ModelStateType & { actions: TSliceActions; }; export declare type ModelSlice = ModelSliceStateActions> = { name: keyof TAppState; actions: ModelSliceSetActions; selectors: ModelSliceSelectors; state: ModelStateType; }; export declare const createModelSliceState: = ModelSliceStateActions, TSliceSetActions extends ModelSliceSetActions = ModelSliceSetActions>(set: SetState, state: ModelStateType, actions: TSliceSetActions) => ModelSliceState; declare const createModelSlice: = ModelSliceStateActions>(options: { name: keyof TAppState; selectSliceState: (appState: TAppState) => ModelSliceState; initialState?: Partial> | undefined; }) => ModelSlice; export default createModelSlice;