package com.unicorn.hgzero.stt.service;

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

/**
 * 녹음 서비스 인터페이스
 * 음성 녹음 관리 기능을 정의
 */
public interface RecordingService {
    
    /**
     * 회의 녹음 준비
     * 
     * @param request 녹음 준비 요청
     * @return 녹음 준비 응답
     */
    RecordingDto.PrepareResponse prepareRecording(RecordingDto.PrepareRequest request);
    
    /**
     * 음성 녹음 시작
     * 
     * @param recordingId 녹음 ID
     * @param request 녹음 시작 요청
     * @return 녹음 상태 응답
     */
    RecordingDto.StatusResponse startRecording(String recordingId, RecordingDto.StartRequest request);
    
    /**
     * 음성 녹음 중지
     * 
     * @param recordingId 녹음 ID
     * @param request 녹음 중지 요청
     * @return 녹음 상태 응답
     */
    RecordingDto.StatusResponse stopRecording(String recordingId, RecordingDto.StopRequest request);
    
    /**
     * 녹음 정보 조회
     * 
     * @param recordingId 녹음 ID
     * @return 녹음 상세 응답
     */
    RecordingDto.DetailResponse getRecording(String recordingId);
}