import { HydratedDocument } from "mongoose";
import * as mongosse from "mongoose";
import { AddAddress } from "src/order/schema/order.schema";
export declare enum PlatePaymentStatus {
    Partial_Payment_Done = "partial_payment_done",
    Full_Payment_Done = "full_payment_done",
    Refunded = "refunded"
}
export declare enum PlateStatus {
    Requested = "requested",
    Accepted = "accepted",
    Canceled = "canceled",
    Completed = "completed",
    Refunded = "refunded"
}
declare class MenuDetail {
    category_id: string;
    food_ids: string[];
}
export declare class Plate {
    order_id: string;
    customer_id: string;
    vendor_id: string;
    restaurant_id: string;
    catering_plan_id: string;
    menu: MenuDetail[];
    no_of_adults: number;
    no_of_kids: number;
    notes: string;
    delivery_address: AddAddress;
    scheduled_time: Date;
    status?: PlateStatus;
    booking_amount: number;
    tax: number;
    platform_fee: number;
    sales_commission: number;
    total_payment: number;
    advance_payment: number;
    payment_status?: PlatePaymentStatus;
    razorpay_order_id: string;
    cashfree_id: string;
    razorpay_payment_id: string;
    stripe_payment_id: string;
    refund_id: string;
    refund_amount: number;
    refund_at: number;
}
export type PlateDocment = HydratedDocument<Plate>;
export declare const PlateModel: mongosse.Schema<Plate, mongosse.Model<Plate, any, any, any, mongosse.Document<unknown, any, Plate, any, {}> & Plate & {
    _id: mongosse.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongosse.DefaultSchemaOptions, Plate, mongosse.Document<unknown, {}, mongosse.FlatRecord<Plate>, {}, mongosse.ResolveSchemaOptions<mongosse.DefaultSchemaOptions>> & mongosse.FlatRecord<Plate> & {
    _id: mongosse.Types.ObjectId;
} & {
    __v: number;
}>;
export {};
