import mongoose, { HydratedDocument } from 'mongoose';
export declare class VariantKeys {
    title: string;
    add_price: number;
    final_price: number;
}
export declare class CustomizationKeys {
    title: string;
    customer_selection: string;
    additional_price: number;
    min_selection: number;
    max_selection: number;
    selected_quantity: number;
}
export declare class Options {
    title: string;
    additional_price: number;
    customer_selection: string;
    min_selection: number;
    max_selection: number;
}
export declare class OtherAddOns {
    title: string;
    description: string;
    min_selection: number;
    max_selection: number;
    options: Options[];
}
export declare class MakeItOwn {
    group_id: string;
    title: string;
    customer_selection: string;
    additional_price: number;
}
export declare class Slots {
    start_time: string;
    end_time: string;
}
export declare class ItemTiming {
    day: string;
    day_id: string;
    start_time: string;
    end_time: string;
}
export declare class FoodItems {
    type: string;
    restaurant_id: string;
    category_id: string;
    food_type: string;
    image: string[];
    name: string;
    price: number;
    discounted_price: number;
    discount_type: string;
    discount_value: any;
    discount_start_date: string;
    discount_end_date: string;
    is_discount_active: boolean;
    pieces: VariantKeys[];
    quantity: VariantKeys[];
    size: VariantKeys[];
    add_ons: CustomizationKeys[];
    other_add_ons: OtherAddOns[];
    toppings: CustomizationKeys[];
    make_your_own: MakeItOwn[];
    item_timing: ItemTiming[];
    availability_type: string;
    is_available: boolean;
    availability_status: string;
    rating: number;
    extimate_time: number;
    description: string;
    is_recommend: boolean;
    sort_index: {
        type: Number;
        default: null;
    };
    created_at: number;
    updated_at: number;
    embedding: number[];
    order_count: {
        type: Number;
        default: 0;
    };
    trending_count: {
        type: Number;
        default: 0;
    };
    home_cooked_service_id: string;
    restaurant_type?: string;
    catering_services: boolean;
    is_deleted: boolean;
    admin_commission: number;
}
export type FoodItemsDocument = HydratedDocument<FoodItems>;
export declare const FoodItemsModel: mongoose.Schema<FoodItems, mongoose.Model<FoodItems, any, any, any, mongoose.Document<unknown, any, FoodItems, any, {}> & FoodItems & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, FoodItems, mongoose.Document<unknown, {}, mongoose.FlatRecord<FoodItems>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<FoodItems> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const VariantKeysSchema: mongoose.Schema<VariantKeys, mongoose.Model<VariantKeys, any, any, any, mongoose.Document<unknown, any, VariantKeys, any, {}> & VariantKeys & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, VariantKeys, mongoose.Document<unknown, {}, mongoose.FlatRecord<VariantKeys>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<VariantKeys> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const CustomizationKeysSchema: mongoose.Schema<CustomizationKeys, mongoose.Model<CustomizationKeys, any, any, any, mongoose.Document<unknown, any, CustomizationKeys, any, {}> & CustomizationKeys & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, CustomizationKeys, mongoose.Document<unknown, {}, mongoose.FlatRecord<CustomizationKeys>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<CustomizationKeys> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const MakeItOwnSchema: mongoose.Schema<MakeItOwn, mongoose.Model<MakeItOwn, any, any, any, mongoose.Document<unknown, any, MakeItOwn, any, {}> & MakeItOwn & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, MakeItOwn, mongoose.Document<unknown, {}, mongoose.FlatRecord<MakeItOwn>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<MakeItOwn> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const SlotsSchema: mongoose.Schema<Slots, mongoose.Model<Slots, any, any, any, mongoose.Document<unknown, any, Slots, any, {}> & Slots & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Slots, mongoose.Document<unknown, {}, mongoose.FlatRecord<Slots>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<Slots> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export declare const ItemTimingSchema: mongoose.Schema<ItemTiming, mongoose.Model<ItemTiming, any, any, any, mongoose.Document<unknown, any, ItemTiming, any, {}> & ItemTiming & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, ItemTiming, mongoose.Document<unknown, {}, mongoose.FlatRecord<ItemTiming>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<ItemTiming> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
