package com.unicorn.hgzero.user.service;

/**
 * 이벤트 발행 서비스 인터페이스
 * 사용자 인증 관련 이벤트를 외부 시스템에 발행
 */
public interface EventPublishService {
    
    /**
     * 로그인 이벤트 발행
     * 
     * @param userId 사용자 ID
     * @param username 사용자명
     * @param timestamp 로그인 시각
     */
    void publishLoginEvent(String userId, String username, long timestamp);
    
    /**
     * 로그아웃 이벤트 발행
     * 
     * @param userId 사용자 ID
     * @param timestamp 로그아웃 시각
     */
    void publishLogoutEvent(String userId, long timestamp);
    
    /**
     * 토큰 갱신 이벤트 발행
     * 
     * @param userId 사용자 ID
     * @param timestamp 토큰 갱신 시각
     */
    void publishTokenRefreshEvent(String userId, long timestamp);
}