/** Venue food & drink ordering — separate from jukebox rooms. */
export type OrderStatus = 'new' | 'accepted' | 'preparing' | 'ready' | 'served' | 'cancelled';
export declare const ORDER_STATUSES: readonly OrderStatus[];
export declare const ACTIVE_ORDER_STATUSES: readonly OrderStatus[];
export interface MenuCategory {
    id: string;
    name: string;
    sortOrder: number;
}
export interface MenuItem {
    id: string;
    categoryId: string;
    name: string;
    description?: string;
    /** Whole currency units (e.g. PHP). */
    price: number;
    available: boolean;
}
export interface VenueMenu {
    venueSlug: string;
    categories: MenuCategory[];
    items: MenuItem[];
}
export interface Venue {
    id: string;
    slug: string;
    name: string;
}
export interface OrderLineItem {
    menuItemId: string;
    name: string;
    quantity: number;
    unitPrice: number;
    notes?: string;
}
export interface Order {
    id: string;
    venueSlug: string;
    tableLabel: string;
    guestName?: string;
    status: OrderStatus;
    items: OrderLineItem[];
    total: number;
    createdAt: number;
    updatedAt: number;
}
export interface CreateOrderPayload {
    venueSlug: string;
    tableLabel: string;
    guestName?: string;
    items: Array<{
        menuItemId: string;
        quantity: number;
        notes?: string;
    }>;
}
export interface UpdateOrderStatusPayload {
    orderId: string;
    status: OrderStatus;
}
export declare function formatOrderMoney(amount: number): string;
export declare function orderStatusLabel(status: OrderStatus): string;
export declare function isActiveOrderStatus(status: OrderStatus): boolean;
//# sourceMappingURL=orders.d.ts.map