export interface Notification {
    id: string;
    userId: string;
    type: string;
    title: string;
    message?: string;
    link?: string;
    read: boolean;
    createdAt: Date;
}
export interface NotificationProvider {
    send(userId: string, notification: Omit<Notification, 'id' | 'userId' | 'read' | 'createdAt'>): Promise<string>;
    markRead(notificationId: string): Promise<void>;
    markAllRead(userId: string): Promise<void>;
    getUnread(userId: string, limit?: number): Promise<Notification[]>;
    delete(notificationId: string): Promise<void>;
}
/** Create a database-backed notification provider. */
export declare function createNotificationProvider(_db: unknown): NotificationProvider;
//# sourceMappingURL=index.d.ts.map