import { ModelService } from '../model/model.service';
import { CreateReminderTemplateDto } from './dto/create-reminder-template.dto';
import { Types } from 'mongoose';
import { NotificationService } from './reminders.service';
import { GetNotificationsDto } from './dto/get-storednotifications.dto';
export declare class NotificationController {
    private readonly service;
    private readonly reminderStatusService;
    constructor(service: ModelService, reminderStatusService: NotificationService);
    create(dto: CreateReminderTemplateDto, req: any): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/reminder.schema").ReminderTemplate, {}, {}> & import("../model/schemas/reminder.schema").ReminderTemplate & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }>;
    findAll(req: any): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/reminder.schema").ReminderTemplate> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
    update(id: string, dto: Partial<CreateReminderTemplateDto>): Promise<(import("mongoose").Document<unknown, {}, import("../model/schemas/reminder.schema").ReminderTemplate, {}, {}> & import("../model/schemas/reminder.schema").ReminderTemplate & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    delete(id: string): Promise<(import("mongoose").Document<unknown, {}, import("../model/schemas/reminder.schema").ReminderTemplate, {}, {}> & import("../model/schemas/reminder.schema").ReminderTemplate & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    createDefaultConfigs(req: any): Promise<{
        ok: boolean;
    }>;
    getDefaultConfigs(req: any): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/reminder.schema").ReminderTemplate> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
    getNotifications(query: GetNotificationsDto, req: any): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/notification-store.schema").NotificationStore> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    })[]>;
    getNotificationById(id: string): Promise<(import("mongoose").FlattenMaps<import("../model/schemas/notification-store.schema").NotificationStore> & Required<{
        _id: Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    markAllNotificationsAsRead(req: any): Promise<import("mongoose").UpdateWriteOpResult>;
    markNotificationAsRead(id: string): Promise<import("mongoose").UpdateWriteOpResult>;
}
