import type { BCMSUser } from '@becomes/cms-sdk/types'; import type { BCMSStoreActionTypes, BCMSStoreGetterTypes, BCMSStoreMutationTypes, } from './enums'; import type { BCMSStoreActionAugments, BCMSStoreGetterQuery, BCMSStoreState, } from './main'; type EntityItem = BCMSUser; export interface BCMSStoreUserMutations { [BCMSStoreMutationTypes.user_set]( state: BCMSStoreState, payload: EntityItem | EntityItem[] ): void; [BCMSStoreMutationTypes.user_remove]( state: BCMSStoreState, payload: EntityItem | EntityItem[] ): void; } export interface BCMSStoreUserGetters { [BCMSStoreGetterTypes.user_items](state: BCMSStoreState): EntityItem[]; [BCMSStoreGetterTypes.user_me](state: BCMSStoreState): EntityItem | undefined; [BCMSStoreGetterTypes.user_find]( state: BCMSStoreState ): (query: BCMSStoreGetterQuery) => EntityItem[]; [BCMSStoreGetterTypes.user_findOne]( state: BCMSStoreState ): (query: BCMSStoreGetterQuery) => EntityItem | undefined; } export interface BCMSStoreUserActions { [BCMSStoreActionTypes.user_set]( ctx: BCMSStoreActionAugments, payload: EntityItem[] ): void; [BCMSStoreActionTypes.user_remove]( ctx: BCMSStoreActionAugments, payload: EntityItem | EntityItem[] ): void; }