import { Document } from 'mongoose';
import { BaseEntity } from '../../common/entities/base.entity';
export type NotificationDocument = Notification & Document;
export declare class Notification extends BaseEntity {
    subject: string;
    message: string;
    type: 'email' | 'web';
    recipients: string[];
    status: 'pending' | 'sent' | 'failed';
    sentBy: string;
    academicYearId?: string;
    classId?: string;
    sectionId?: string;
    fileUrl?: string;
    fileName?: string;
    fileType?: string;
    fileSize?: number;
    channels: string[];
    readBy: string[];
    dismissedBy: string[];
}
export declare const NotificationSchema: import("mongoose").Schema<Notification, import("mongoose").Model<Notification, any, any, any, Document<unknown, any, Notification, any> & Notification & Required<{
    _id: string;
}>, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, Notification, Document<unknown, {}, import("mongoose").FlatRecord<Notification>, {}> & import("mongoose").FlatRecord<Notification> & Required<{
    _id: string;
}>>;
