import mongoose from 'mongoose';
import { HydratedDocument } from 'mongoose';
export declare class Availability {
    table: string;
    seats: number;
}
declare class Slots {
    start_time: string;
    end_time: string;
}
declare class Discount {
    discount: number;
    start_time: number;
    end_time: number;
}
declare class WorkingDay {
    day: string;
    is_24_hrs: boolean;
    day_id: string;
    timing: Slots[];
}
export declare enum restaurantStatus {
    Online = "online",
    Offline = "offline"
}
export declare enum RestaurantVerificationStatus {
    NULL,
    SUBMITTED = "SUBMITTED",
    APPROVED = "APPROVED",
    REJECTED = "REJECTED"
}
export declare class Restaurant {
    slug: string;
    vendor_id: string;
    type: string;
    restaurant_name: string;
    restaurant_phone: string;
    average_preparing_time: number;
    address: {
        name: string;
        building_no: string;
        tower: string;
        area: string;
        city: string;
        nearby_landmark: string;
        lat: String;
        long: String;
    };
    location: {
        type: string;
        coordinates: number[];
    };
    country_code: string;
    image: string;
    food_licence_image: string;
    status: restaurantStatus;
    working_day: WorkingDay[];
    dine_out_working_day: WorkingDay[];
    food_type: string[];
    is_active: boolean;
    is_block: boolean;
    reason: string;
    rating: number;
    is_restaurant_verified: boolean;
    is_submit_verification: boolean;
    is_restaurant_update: boolean;
    is_docs_update: boolean;
    verification: RestaurantVerificationStatus;
    doc_update_verification: RestaurantVerificationStatus;
    is_quick_pick: boolean;
    quick_pick_time: number;
    total_orders: number;
    is_deleted: boolean;
    report_reason_id: string;
    created_at: number;
    updated_at: number;
    restaurant_discount: Discount;
    restaurant_discount_update: boolean;
    is_verfication_submitted: boolean;
    restaurant_type?: string;
    isFoodDelivery: boolean;
    isDineOut: boolean;
    catering_services: boolean;
    estimated_price_per_plate: number;
    booking_amount: number;
    uploadRestaurantMenu?: string[];
    uploadRestaurantPhotos?: string[];
    services: string[];
    amenities?: string[];
    cuisine_ids?: string[];
    maximum_capacity_slot: number;
    buffer_time: number;
    total_availability: Availability[];
    subscribers_limit: {
        type: Number;
        default: 0;
    };
    referral_user: string;
    referral_path: string[];
    vendor_commission: number;
    embedding: number[];
    pending_status: string;
    pending_status_reason: string;
}
export type RestaurantDocment = HydratedDocument<Restaurant>;
export declare const RestaurantModel: mongoose.Schema<Restaurant, mongoose.Model<Restaurant, any, any, any, mongoose.Document<unknown, any, Restaurant, any, {}> & Restaurant & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Restaurant, mongoose.Document<unknown, {}, mongoose.FlatRecord<Restaurant>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<Restaurant> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
export {};
