import type { Reminder } from '../domain/reminder'

export interface IReminderProvider {
  getAll(): Promise<Reminder[]>
  getById(id: string): Promise<Reminder | null>
  update(id: string, data: Partial<Reminder>): Promise<Reminder>
  complete(id: string, note?: string): Promise<Reminder>
  dismiss(id: string, note?: string): Promise<Reminder>
  snooze(id: string, until: string): Promise<Reminder>
  create(data: Omit<Reminder, 'id' | 'activity' | 'createdAt' | 'updatedAt'>): Promise<Reminder>
}
