import { ResDishItemsMesType } from '../../index';
import { DiscountInstListType } from '../types';
import { ReserveTypeEnum, TableOrderStateEnum } from '../../constants/orders';

export type DidlogSumitFn = (callback: VoidFunction) => void;
export declare class ReqCustomerInfoType {
    /**
     * 商超id
     */
    storeId?: string;
    /**
     * 餐饮id
     */
    repastId?: string;
    /**
     * 娱乐id
     */
    entId?: string;
    /**
     * 整单备注
     */
    remark?: string;
    /**
     * 来源id
     */
    originId?: string;
    /**
     * 来源名称
     */
    originName?: string;
    /**
     * 客户姓名
     */
    contactPersonName?: string;
    /**
     * 客户Id
     */
    customerId?: string;
    /**
     * 手机号
     */
    contactPhone?: string;
    /**
     * 房间号列表
     */
    accomRoomNames?: string[];
    /**
     * 房间Id列表
     */
    accomRoomIds?: string[];
    /**
     * 折扣id
     */
    discountInstId?: string;
    /**
     * 折扣名称
     */
    discountInstName?: string;
    /**
     * 是否是企业
     */
    isCompany?: boolean;
    /**
     * 订单实际金额
     */
    orderActualAmount?: number;
    /**
     * 订单原价
     */
    orderOriginalAmount?: number;
    /**
     * 是否设置客户/折扣信息
     */
    boolSettingInformation?: boolean;
    vipLevelSeq?: number;
    vipLevelName?: string;
    birthday?: string;
    /**
     * 折扣信息
     * 抹零等需前端传入
     */
    discountInstList?: DiscountInstListType[];
    /** 客户类型0-散客，1-企业 */
    reserveType?: ReserveTypeEnum | undefined;
    /** 企业id */
    companyId?: number;
    /** 企业名称 */
    companyName?: string;
    /** 管家 */
    butlerUserId?: string;
    butlerUserName?: string;
    /** 销售 */
    salesmanUserId?: string;
    salesmanUserName?: string;
    /** 餐饮-预定时间 */
    reserveTime?: string;
    /** 桌位ids */
    boardIds?: string[];
    /** 桌位名字 */
    boardNames?: string[];
    /** 用餐人数 */
    dineNum?: number;
    /** 关联订单id */
    accomOrderId?: string;
    /** 服务id */
    serviceId?: string;
    /** 是否挂账 */
    boolArCharge?: boolean;
}
export interface UserInfoType {
    username: string;
    userId: string;
    name?: string;
}
export interface ChannelItemType {
    /**
     * id
     */
    id?: string;
    /**
     * 名称
     */
    name?: string;
    disabled?: boolean;
    boolHidden?: boolean;
}
export interface RoomTypeItem {
    /**
     * 房间id
     */
    id: string;
    /**
     * 房间名字
     */
    name: string;
    /**
     * 房间list
     */
    roomList?: RoomTypeItem[];
}
export interface EnterpriseItemType {
    cusEnterpriseId?: string;
    name?: string;
}
export interface ReqDiscountParamType {
    customerId?: string;
    restId?: string;
    storeId?: string;
}
export declare class CreateOrderRepastInfoType {
    serviceId?: string;
    actualAmount?: number;
    nanoid?: string;
    /** 餐厅id */
    restId?: string;
    /** 用餐人数 */
    dineNum?: number;
    /** 预定时间（用餐时间） */
    reserveTime?: string;
    /** 折扣id */
    discountInstId?: string;
    /** 折扣id */
    discountInstName?: string;
    /** 选中的折扣列表 */
    discountInstList?: DiscountInstListType[];
    /** 主桌位id（并桌时首选的桌位id) */
    mainBoardId?: string;
    boardIds?: string[];
    boolCheckDishMes?: boolean;
    caterShopCartId?: string;
    /** 整单优惠 */
    wholeDiscountAmount?: number;
    dishMesList?: ResDishItemsMesType[];
    status?: TableOrderStateEnum;
    orderActualAmount?: number;
    /** 菜品数量 */
    dishCount?: number;
}
export interface ProOrderRepastCreateType {
    orderId?: string;
    orderInfo: ReqCustomerInfoType;
    rmsInfo: {
        serviceList?: CreateOrderRepastInfoType[];
    };
}
export interface DishResultParamsType {
    dishResultList?: ResDishItemsMesType[];
    boolCheckDishMes: boolean;
    restId?: string;
}
export interface AccomOrderListType {
    /**
     * 订单id
     */
    orderId?: number;
    /**
     * 订单号
     */
    orderNum?: string;
    /**
     * 客户id
     */
    customerId?: number;
    /**
     * 渠道订单号
     */
    channelOrderNum?: string;
    /**
     * 是否渠道直连,是为直连，否为本地
     */
    boolChannelLink?: boolean;
    /**
     * 订单总金额(实际应收金额)
     */
    sumAmount?: number;
    /**
     * 结账状态
     *     0, "未结账"
     *     1, "已结账"
     *     4, "部分结账"
     */
    settleStatus?: number;
    /**
     * 创建时间
     */
    createTime?: string;
    /**
     * 支付状态
     */
    payStatus?: 0 | 1 | 2 | 3 | 4;
    /**
     * 订单状态
     */
    orderStatus?: number;
    /**
     * 渠道id
     */
    originId?: number;
    /**
     * 来源名称
     */
    originName?: string;
    /**
     * 订单联系人
     */
    contactPersonName?: string;
    /**
     * 订单联系电话
     */
    contactPhone?: string;
    /**
     * 销售员id
     */
    salesManId?: number;
    /**
     * 销售员名称
     */
    salesManName?: string;
    /**
     * 管家id
     */
    butlerId?: number;
    /**
     * 管家名称
     */
    butlerName?: string;
    /**
     * 企业id
     */
    enterpriseId?: number;
    /**
     * 住宿服务列表
     */
    serviceList?: {
        /**
         * 房型名称
         */
        roomTypeName?: string;
        /**
         * 房间id
         */
        roomId?: number;
        /**
         * 房间名称
         */
        roomName?: string;
        /**
         * 入住时间
         */
        checkinTime?: string;
        /**
         * 离开时间
         */
        checkoutTime?: string;
        /**
         * 入住状态
         */
        status?: 0 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80;
        /**
         * 入住类型
         */
        checkinType?: -1 | 1 | 2 | 3 | 4 | 5 | 6;
        /**
         * 房费
         */
        amount?: number;
        /**
         * 是否为包栋
         */
        boolBundle?: boolean;
        /**
         * 是否订单盒子
         */
        boolBox?: boolean;
        /**
         * 订单盒子标签名称
         */
        boxLabelName?: string;
    }[];
    /**
     * 房间号id列表
     */
    roomIdList?: number[];
}
export interface AccomOrderPageType {
    /**
     * 当前页
     */
    pageNum?: number;
    /**
     * 每页的数量
     */
    pageSize?: number;
    /**
     * 总记录数
     */
    total?: number;
    /**
     * 总页数
     */
    pages?: number;
    /**
     * 结果集
     */
    list?: AccomOrderListType[];
    /**
     * 是否最后页
     */
    boolLastPage?: boolean;
}
