import { NotificationCategory } from '@prisma/client';
import { NotificationPreferencesService } from './notification-preferences.service';
import { AuthenticatedUser } from '../../common/decorators/current-user.decorator';
declare class UpdatePreferenceDto {
    category: NotificationCategory;
    push?: boolean;
    email?: boolean;
    sms?: boolean;
    whatsapp?: boolean;
    quietHoursStart?: number | null;
    quietHoursEnd?: number | null;
}
export declare class NotificationPreferencesController {
    private readonly service;
    constructor(service: NotificationPreferencesService);
    list(user: AuthenticatedUser): Promise<({
        id: string;
        updatedAt: Date;
        email: boolean;
        userId: string;
        push: boolean;
        category: import(".prisma/client").$Enums.NotificationCategory;
        sms: boolean;
        whatsapp: boolean;
        quietHoursStart: number | null;
        quietHoursEnd: number | null;
    } | {
        quietHoursStart: null;
        quietHoursEnd: null;
        updatedAt: null;
        push: boolean;
        email: boolean;
        sms: boolean;
        whatsapp: boolean;
        id: null;
        userId: string;
        category: import(".prisma/client").$Enums.NotificationCategory;
    })[]>;
    upsert(user: AuthenticatedUser, dto: UpdatePreferenceDto): Promise<{
        id: string;
        updatedAt: Date;
        email: boolean;
        userId: string;
        push: boolean;
        category: import(".prisma/client").$Enums.NotificationCategory;
        sms: boolean;
        whatsapp: boolean;
        quietHoursStart: number | null;
        quietHoursEnd: number | null;
    }>;
}
export {};
