import { NotificationCategory } from '@prisma/client';
import { PrismaService } from '../../prisma/prisma.service';
export interface UpdatePreferenceInput {
    category: NotificationCategory;
    push?: boolean;
    email?: boolean;
    sms?: boolean;
    whatsapp?: boolean;
    quietHoursStart?: number | null;
    quietHoursEnd?: number | null;
}
export declare class NotificationPreferencesService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    listForUser(userId: string): 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(userId: string, input: UpdatePreferenceInput): 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;
    }>;
}
