import { SoftDeleteEntity } from '../entity';
import { ItemUnit, MenuItem } from '../menu';
import { OrderItemState } from './enums';
import { Order } from './order.model';
/**
 * Represents a single item in an order
 */
export declare class OrderItem extends SoftDeleteEntity<OrderItem> {
    /**
     *  Name of the menu item
     */
    name: string;
    /**
     * Total quantity ordered
     */
    quantity: number;
    /**
     * The unit that is used to measure amount of item
     */
    quantityUnit: ItemUnit;
    /**
     * Unit price of the menu item
     */
    unitPrice: number;
    /**
     * The quantity that has been paid
     * NOTE: Do this set this property, use {@link payQuantity()} method
     */
    paidQuantity: number;
    /**
     * True if item has been fully paid
     */
    paid: boolean;
    /**
     * Current state of the item
     */
    state: OrderItemState;
    /**
     * Optional course of the item
     */
    course?: number;
    /**
     * The order to which this sale item belongs
     */
    order: Order;
    /**
     * The menu item that was ordered
     */
    menuItem: MenuItem;
    payQuantity(quantity: number): void;
}
