import { HydratedDocument, Types } from 'mongoose';
import { AlertType } from 'src/alerts/alert.types';
export type NotificationDocument = HydratedDocument<Notification>;
export declare class Notification {
    _id: Types.ObjectId;
    userId: Types.ObjectId;
    type: AlertType;
    title: string;
    message: string;
    data: Record<string, any>;
    isRead: boolean;
    readAt?: Date;
}
export declare const NotificationSchema: import("mongoose").Schema<Notification, import("mongoose").Model<Notification, any, any, any, import("mongoose").Document<unknown, any, Notification, any, {}> & Notification & Required<{
    _id: Types.ObjectId;
}> & {
    __v: number;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Notification, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<Notification>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<Notification> & Required<{
    _id: Types.ObjectId;
}> & {
    __v: number;
}>;
