/** * Repository Interface: INotificationPreferenceRepository * * Defines the contract for persisting and retrieving NotificationPreference entities. */ import type { NotificationPreference } from '../entities/NotificationPreference'; export interface INotificationPreferenceRepository { /** * Find preferences for a driver */ findByDriverId(driverId: string): Promise; /** * Save preferences (create or update) */ save(preference: NotificationPreference): Promise; /** * Delete preferences for a driver */ delete(driverId: string): Promise; /** * Get or create default preferences for a driver */ getOrCreateDefault(driverId: string): Promise; }