package com.unicorn.hgzero.stt.service;

import com.unicorn.hgzero.stt.dto.SpeakerDto;

/**
 * 화자 서비스 인터페이스
 * 화자 식별 및 관리 기능을 정의
 */
public interface SpeakerService {
    
    /**
     * 화자 식별
     * 
     * @param request 화자 식별 요청
     * @return 화자 식별 응답
     */
    SpeakerDto.IdentificationResponse identifySpeaker(SpeakerDto.IdentifyRequest request);
    
    /**
     * 화자 정보 조회
     * 
     * @param speakerId 화자 ID
     * @return 화자 상세 응답
     */
    SpeakerDto.DetailResponse getSpeaker(String speakerId);
    
    /**
     * 화자 정보 업데이트
     * 
     * @param speakerId 화자 ID
     * @param request 화자 업데이트 요청
     * @return 화자 상세 응답
     */
    SpeakerDto.DetailResponse updateSpeaker(String speakerId, SpeakerDto.UpdateRequest request);
    
    /**
     * 녹음의 화자 목록 조회
     * 
     * @param recordingId 녹음 ID
     * @return 화자 목록 응답
     */
    SpeakerDto.ListResponse getRecordingSpeakers(String recordingId);
}