/**
 * Port for sending magic link notifications
 * In production, this would send emails
 * In development, it can log to console or return the link
 */
export interface MagicLinkNotificationInput {
  email: string;
  magicLink: string;
  userId: string;
  expiresAt: Date;
}

export interface IMagicLinkNotificationPort {
  /**
   * Send a magic link notification to the user
   * @param input - The notification data
   * @returns Promise<void>
   */
  sendMagicLink(input: MagicLinkNotificationInput): Promise<void>;
}