import { RequestUser } from '../common/request-user';
import { SendNotificationDto } from './dto/send-notification.dto';
import { NotificationsService } from './notifications.service';
export declare class NotificationsController {
    private readonly notificationsService;
    constructor(notificationsService: NotificationsService);
    listMine(user: RequestUser, unreadOnly?: string): import(".prisma/client").Prisma.PrismaPromise<{
        status: import(".prisma/client").$Enums.NotificationStatus;
        data: import("@prisma/client/runtime/library").JsonValue;
        id: string;
        estateId: string;
        title: string;
        channel: import(".prisma/client").$Enums.NotificationChannel;
        createdAt: Date;
        userId: string | null;
        body: string;
        announcementId: string | null;
        readAt: Date | null;
        sentAt: Date | null;
    }[]>;
    markRead(id: string, user: RequestUser): Promise<{
        updated: number;
    }>;
    send(dto: SendNotificationDto, user: RequestUser): Promise<{
        status: string;
        notificationId: string;
        channel: "SMS" | "WHATSAPP" | "PUSH";
        criticalPath: boolean;
    }>;
}
