import { Address, Order, User } from '@/domain/entities';
import { RegisterInput } from '@/domain/services/AuthDomainService';

/**
 * PORT — Contract for user session and orders
 */
export interface IAuthRepository {
  getUser(): User | null;
  getOrders(): Order[];
  isAuthenticated(): boolean;
  login(email: string, password: string): boolean;
  register(data: RegisterInput): boolean;
  logout(): void;
  updateProfile(data: Partial<User>): void;
  addOrder(order: Order): void;
}