import { InventoryItemRecord, InventoryRecord, InventoryStatus, Order } from "../../models"; import { Receipt } from "../../models"; import { OfflineSyncType } from "../../enums"; export interface OfflineSyncRequest { storeId: string; type: OfflineSyncType; value: any; } export interface OfflineSyncOrder extends OfflineSyncRequest { type: OfflineSyncType.PutOrder; value: Order; } export interface OfflineSyncReceipt extends OfflineSyncRequest { type: OfflineSyncType.AttachReceipt | OfflineSyncType.VoidReceipt; value: Receipt; } export interface OfflineSyncSerialNumber extends OfflineSyncRequest { type: OfflineSyncType.PutPosSerialNumber; value: string; } export interface OfflineSyncInventory extends OfflineSyncRequest { type: OfflineSyncType.PutInventory; value: OfflineSyncInventoryPayload; } export interface OfflineSyncInventoryPayload { inventoryRecord: InventoryRecord; inventoryItemRecords: InventoryItemRecord[]; inventoryStatusPayload: InventoryStatusPayload[]; } export interface InventoryStatusPayload { id: string; inventoryStatus: InventoryStatus; }