import type { LoginPayload, LoginResponse, AdminProfile, ResetPasswordPayload } from "@/domain/entities/auth";

export interface AuthRepository {
  login(payload: LoginPayload): Promise<LoginResponse>;
  logout(): Promise<void>;
  getMe(): Promise<AdminProfile>;
  /** Public: request a password-reset email (shared fleet auth route). */
  forgotPassword(email: string): Promise<void>;
  /** Public: set a new password from the emailed token (shared fleet auth route). */
  resetPassword(payload: ResetPasswordPayload): Promise<void>;
}
