import type { BCMSTemplate } from '@becomes/cms-sdk/types'; import type { BCMSStoreActionTypes, BCMSStoreGetterTypes, BCMSStoreMutationTypes, } from './enums'; import type { BCMSStoreActionAugments, BCMSStoreGetterQuery, BCMSStoreState, } from './main'; type EntityItem = BCMSTemplate; export interface BCMSStoreTemplateMutations { [BCMSStoreMutationTypes.template_set]( state: BCMSStoreState, payload: EntityItem | EntityItem[] ): void; [BCMSStoreMutationTypes.template_remove]( state: BCMSStoreState, payload: EntityItem | EntityItem[] ): void; } export interface BCMSStoreTemplateGetters { [BCMSStoreGetterTypes.template_items](state: BCMSStoreState): EntityItem[]; [BCMSStoreGetterTypes.template_find]( state: BCMSStoreState ): (query: BCMSStoreGetterQuery) => EntityItem[]; [BCMSStoreGetterTypes.template_findOne]( state: BCMSStoreState ): (query: BCMSStoreGetterQuery) => EntityItem | undefined; } export interface BCMSStoreTemplateActions { [BCMSStoreActionTypes.template_set]( ctx: BCMSStoreActionAugments, payload: EntityItem[] ): void; [BCMSStoreActionTypes.template_remove]( ctx: BCMSStoreActionAugments, payload: EntityItem | EntityItem[] ): void; }