/** * Mock Database for Standalone/Demo Mode * Stores mock data that mimics the Render environment */ import { CFActiveCompany, CFActiveUser, CFActiveStation, CFActiveOutlet, CFActiveOrder, CFCustomer, CFProduct, CFActiveCart, CFCategory, CFActiveProduct, CFSession, CFActiveRefundDetails, CFSmartGridLayout } from "../CommonTypes"; export * from "./mocks"; /** Replace mock catalog / context data in place (same array references mock handlers use). */ export interface MockDatabaseConfig { company?: Partial; outlets?: CFActiveOutlet[]; stations?: CFActiveStation[]; users?: CFActiveUser[]; customers?: CFCustomer[]; categories?: CFCategory[]; products?: CFProduct[]; orders?: CFActiveOrder[]; parkedOrders?: CFActiveOrder[]; } export declare const MOCK_COMPANY: CFActiveCompany; export declare const MOCK_OUTLET_MAIN: CFActiveOutlet; export declare const MOCK_STATION_1: CFActiveStation; export declare const MOCK_STATION_2: CFActiveStation; export declare const MOCK_SESSION: CFSession; export declare const MOCK_ACTIVE_REFUND_DETAILS: CFActiveRefundDetails; export declare const MOCK_USER_MARIO: CFActiveUser; export declare const MOCK_USER_LUIGI: CFActiveUser; export declare const MOCK_CUSTOMER_1: CFCustomer; export declare const MOCK_CUSTOMER_2: CFCustomer; export declare const MOCK_CUSTOMER_3: CFCustomer; export declare const MOCK_CUSTOMER_4: CFCustomer; export declare const MOCK_CUSTOMER_5: CFCustomer; export declare const MOCK_CATEGORY_PASTES: CFCategory; export declare const MOCK_CATEGORY_SPECIALTY: CFCategory; export declare const MOCK_CATEGORY_BASIC: CFCategory; export declare const MOCK_CATEGORY_VEGAN: CFCategory; export declare const MOCK_CATEGORY_SPICY: CFCategory; export declare const MOCK_PRODUCT_BASIL_ALMOND: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_BEER: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_BEET: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_CARAMELIZED: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_GARLIC_ONION: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_GARLIC: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_GINGER_LIME: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_LEMON: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_RED_PEPPER: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_ROASTED_TOMATO: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_MINT_LEMON: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_CHILI_GARLIC: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_HABANERO: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_PRODUCT_BLACK_GARLIC: import("@final-commerce/common/pos-types").FullProduct; export declare const MOCK_ORDER_1: CFActiveOrder; export declare const MOCK_ORDER_2: CFActiveOrder; export declare const MOCK_ORDER_3: CFActiveOrder; export declare const MOCK_PARKED_ORDER_1: CFActiveOrder; export declare const MOCK_PARKED_ORDER_2: CFActiveOrder; export declare const MOCK_USERS: import("@final-commerce/common/pos-types").ActiveUser[]; export declare const MOCK_STATIONS: import("@final-commerce/common/pos-types").ActiveStation[]; export declare const MOCK_OUTLETS: import("@final-commerce/common/pos-types").ActiveOutlet[]; export declare const MOCK_CUSTOMERS: import("@final-commerce/common/pos-types").ActiveCustomer[]; export declare const MOCK_CATEGORIES: import("@final-commerce/common/pos-types").Category[]; export declare const MOCK_PRODUCTS: import("@final-commerce/common/pos-types").FullProduct[]; export declare const MOCK_ORDERS: import("@final-commerce/common/pos-types").ActiveOrder[]; export declare const MOCK_PARKED_ORDERS: CFActiveOrder[]; export declare let MOCK_USER: CFActiveUser; export declare let MOCK_STATION: CFActiveStation; export declare let MOCK_OUTLET: CFActiveOutlet; export declare let MOCK_CART: CFActiveCart; export declare let MOCK_ACTIVE_PRODUCT: CFActiveProduct; export declare const setMockActiveProduct: (activeProduct: CFActiveProduct) => void; export declare const MOCK_SMART_GRID_LAYOUTS: Record; export declare const resetMockCart: () => void; /** * Replace in-memory mock data used by default mock handlers. Arrays are mutated in place * so existing imports from this module keep working. */ export declare function setMockDatabase(config: Partial): void; export declare const safeSerialize: (data: T) => T; type MockEventCallback = (event: any) => void; export declare const mockPublishEvent: (topic: string, eventType: string, data: any) => void; export declare const mockSubscribeToTopic: (topic: string, callback: MockEventCallback) => void; export declare const createOrderFromCart: (paymentType: string, amount: number, processor?: string) => CFActiveOrder; /** * Apply a (possibly partial) payment of `amount` minor units to the active cart. * Decrements the remaining balance; when it reaches zero the sale completes * (creates the order, resets the cart, returns it). Otherwise the cart stays * open with `amountToBeCharged` reset to what's left, and returns null. */ export declare const applyMockPayment: (amount: number, paymentType: string, processor?: string) => CFActiveOrder | null;