import { NotificationService } from './notification.service';
import { GetNotificationListDto } from './dto/get-notification-list.dto';
export declare class NotificationController {
    private readonly notificationService;
    constructor(notificationService: NotificationService);
    getNotificationList(getNotificationListDto: GetNotificationListDto, req: any): Promise<{
        unread: {
            total: number;
            pageNumber: number;
            count: number;
            data: (import("mongoose").FlattenMaps<{
                notification: {
                    title: string;
                    body: string;
                };
                data: {
                    type: string;
                    redirectPath: string;
                    order_id: string;
                    cart_id: string;
                };
                userId: import("mongoose").Types.ObjectId;
                resturantId: import("mongoose").Types.ObjectId | null;
                isRead: boolean;
                isDeleted: boolean;
                isVendor: boolean;
                isCustomer: boolean;
                isDriver: boolean;
            }> & {
                _id: import("mongoose").Types.ObjectId;
            } & {
                __v: number;
            })[];
        };
        read: {
            total: number;
            pageNumber: number;
            count: number;
            data: (import("mongoose").FlattenMaps<{
                notification: {
                    title: string;
                    body: string;
                };
                data: {
                    type: string;
                    redirectPath: string;
                    order_id: string;
                    cart_id: string;
                };
                userId: import("mongoose").Types.ObjectId;
                resturantId: import("mongoose").Types.ObjectId | null;
                isRead: boolean;
                isDeleted: boolean;
                isVendor: boolean;
                isCustomer: boolean;
                isDriver: boolean;
            }> & {
                _id: import("mongoose").Types.ObjectId;
            } & {
                __v: number;
            })[];
        };
    }>;
    markAsRead(notificationId: string): Promise<{
        success: boolean;
        message: string;
        data?: undefined;
    } | {
        success: boolean;
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./entities/notification.entity").Notification, {}, {}> & import("./entities/notification.entity").Notification & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    markAllAsRead(req: any): Promise<{
        success: boolean;
        message: string;
        modifiedCount: number;
    }>;
    deleteNotification(notificationId: string, req: any): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./entities/notification.entity").Notification, {}, {}> & import("./entities/notification.entity").Notification & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    deleteAllNotifications(req: any): Promise<{
        message: string;
        deletedCount: number;
    }>;
}
