export type LanguageCode = "en" | "kh";

export type SystemNotificationSettings = {
  enabled: boolean;
  unreadBadge: boolean;
};

export type GmailNotificationSettings = {
  enabled: boolean;
  email: string;
};

export type NotificationSettingsState = {
  system: SystemNotificationSettings;
  gmail: GmailNotificationSettings;
};

export type NotificationSettingApiData = {
  id: number;
  userId: number;
  systemEnabled: boolean;
  unreadBadge: boolean;
  gmailEnabled: boolean;
  gmailAddress: string | null;
  createdAt: string;
  updatedAt: string;
};

export type NotificationSettingApiResponse = {
  success: boolean;
  statusCode: number;
  message: string;
  data: NotificationSettingApiData;
  timestamp?: string;
  path?: string;
};

export type UpdateNotificationSettingPayload = {
  systemEnabled: boolean;
  unreadBadge: boolean;
  gmailEnabled: boolean;
  gmailAddress: string | null;
};

export type NotificationIconName =
  | "bell"
  | "gmail"
  | "badge"
  | "save";