import { Action } from '@ngrx/store' ; import { DaffStateError } from '@daffodil/core/state' ; import { DaffProduct } from '@daffodil/product' ; /**
 * Action types for Product Grid Actions.
 */ export enum DaffProductGridActionTypes { ProductGridLoadAction = '[ProductGrid] Load Action' , ProductGridLoadSuccessAction = '[ProductGrid] Load Success Action' , ProductGridLoadFailureAction = '[ProductGrid] Load Failure Action' , ProductGridResetAction = '[ProductGrid] Reset Action' } /**
 * Triggers a request for an array of products.
 */ export class DaffProductGridLoad implements Action { readonly type = DaffProductGridActionTypes . ProductGridLoadAction ; constructor ( ) { } } param payload export class DaffProductGridLoadSuccess < T extends DaffProduct = DaffProduct > implements Action { readonly type = DaffProductGridActionTypes . ProductGridLoadSuccessAction ; constructor ( public payload ) { } } param payload export class DaffProductGridLoadFailure implements Action { readonly type = DaffProductGridActionTypes . ProductGridLoadFailureAction ; constructor ( public payload ) { } } /**
 * Resets the state of the product grid redux store to its initial state.
 */ export class DaffProductGridReset implements Action { readonly type = DaffProductGridActionTypes . ProductGridResetAction ; constructor ( ) { } } export type DaffProductGridActions < T extends DaffProduct = DaffProduct > = DaffProductGridLoad | DaffProductGridLoadSuccess < T > | DaffProductGridLoadFailure | DaffProductGridReset ;