import mongoose, { Document, Types } from 'mongoose';
export type NotificationDocument = Notification & Document;
export declare class PushNotificationObj {
    title: string;
    body: string;
}
export declare const PushNotificationObjSchema: mongoose.Schema<PushNotificationObj, mongoose.Model<PushNotificationObj, any, any, any, mongoose.Document<unknown, any, PushNotificationObj, any, {}> & PushNotificationObj & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, PushNotificationObj, mongoose.Document<unknown, {}, mongoose.FlatRecord<PushNotificationObj>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<PushNotificationObj> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
export declare class PushNotificationDataObj {
    type: string;
    redirectPath: string;
    order_id: string;
    cart_id: string;
}
export declare const PushNotificationDataObjSchema: mongoose.Schema<PushNotificationDataObj, mongoose.Model<PushNotificationDataObj, any, any, any, mongoose.Document<unknown, any, PushNotificationDataObj, any, {}> & PushNotificationDataObj & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, PushNotificationDataObj, mongoose.Document<unknown, {}, mongoose.FlatRecord<PushNotificationDataObj>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<PushNotificationDataObj> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
export declare class Notification {
    notification: PushNotificationObj;
    data: PushNotificationDataObj;
    userId: Types.ObjectId;
    resturantId: Types.ObjectId | null;
    isRead: boolean;
    isDeleted: boolean;
    isVendor: boolean;
    isCustomer: boolean;
    isDriver: boolean;
}
export declare const NotificationModel: mongoose.Schema<Notification, mongoose.Model<Notification, any, any, any, mongoose.Document<unknown, any, Notification, any, {}> & Notification & {
    _id: Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Notification, mongoose.Document<unknown, {}, mongoose.FlatRecord<Notification>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<Notification> & {
    _id: Types.ObjectId;
} & {
    __v: number;
}>;
