import { SetState } from 'zustand'; import { AsyncModelStateType } from '../../models/async-model-state'; import { Action, AsyncMetaSliceSelectors, AsyncSliceStateActions, AsyncSliceSetActions, SetAction, SliceSelectors } from '../../types'; export declare type AsyncModelSliceSelectors = AsyncModelSliceStateActions> = SliceSelectors, TSliceStateActions> & AsyncMetaSliceSelectors & { selectModel: (state: TAppState) => TModel; }; export declare type AsyncModelSliceSetActions = AsyncSliceSetActions & { hydrate: SetAction; set: SetAction; update: SetAction; }; export declare type AsyncModelSliceStateActions = AsyncSliceStateActions & { hydrate: Action<[TModel]>; set: Action<[TModel]>; update: Action<[TModel]>; }; export declare type AsyncModelSliceState = AsyncModelSliceStateActions> = AsyncModelStateType & { actions: TSliceActions; }; export declare type AsyncModelSlice = AsyncModelSliceStateActions> = { name: keyof TAppState; actions: AsyncModelSliceSetActions; selectors: AsyncModelSliceSelectors; state: AsyncModelStateType; }; export declare const createAsyncModelSliceState: = AsyncModelSliceStateActions, TSliceSetActions extends AsyncModelSliceSetActions = AsyncModelSliceSetActions>(set: SetState, state: AsyncModelStateType, actions: TSliceSetActions) => AsyncModelSliceState; declare const createAsyncModelSlice: = AsyncModelSliceStateActions>(options: { name: keyof TAppState; selectSliceState: (appState: TAppState) => AsyncModelSliceState; initialState?: Partial> | undefined; }) => AsyncModelSlice; export default createAsyncModelSlice;