/**
 * Enum des types d'événements ShopEvent
 * Couvre toutes les modifications métier importantes dans un shop
 */
export declare const SHOP_EVENT_TYPES: readonly ["order.created", "order.updated", "order.status_changed", "order.deleted", "order_item.created", "order_item.updated", "order_item.status_changed", "order_item.production_step_changed", "order_item.quantity_changed", "order_item.customized", "order_item.deleted", "product.created", "product.updated", "product.deleted", "shop_user.created", "shop_user.updated", "shop_user.deleted", "cash_session.opened", "cash_session.closed", "cash_session.reopened", "cash_session.updated", "payment.attempt_started", "payment.attempt_succeeded", "payment.attempt_failed", "payment.terminal_status_changed", "category.created", "category.updated", "category.deleted", "station.created", "station.updated", "station.deleted", "station.stock_updated", "order.items_replaced", "order.product_incremented", "ingredient.created", "ingredient.updated", "ingredient.deleted", "recipe.created", "recipe.updated", "recipe.deleted", "logistics_route.created", "logistics_route.updated", "logistics_route.deleted"];
export type ShopEventType = typeof SHOP_EVENT_TYPES[number];
/**
 * Payload de base pour un ShopEvent transmis via WebSocket
 */
export interface ShopEventPayload {
    id: string;
    shopId: string;
    seq: string;
    type: ShopEventType;
    entity?: string;
    entityId?: string;
    revision?: number;
    payload: Record<string, any>;
    createdAt: string;
}
