package com.unicorn.hgzero.ai.biz.usecase;

import com.unicorn.hgzero.ai.biz.domain.ProcessedTranscript;

/**
 * 회의록 자동 작성 UseCase
 * STT에서 변환된 텍스트를 받아 LLM 기반으로 회의록 자동 작성
 */
public interface TranscriptProcessUseCase {

    /**
     * 회의록 자동 작성
     *
     * @param meetingId 회의 ID
     * @param transcriptText STT에서 변환된 텍스트
     * @param userId 사용자 ID
     * @param userName 사용자 이름
     * @param title 회의 제목
     * @param participants 참석자 목록
     * @param agenda 회의 안건
     * @return 처리된 회의록
     */
    ProcessedTranscript processTranscript(
        String meetingId,
        String transcriptText,
        String userId,
        String userName,
        String title,
        java.util.List<String> participants,
        java.util.List<String> agenda
    );

    /**
     * 회의록 조회
     *
     * @param transcriptId 회의록 ID
     * @return 처리된 회의록
     */
    ProcessedTranscript getTranscript(String transcriptId);

    /**
     * 회의 ID로 회의록 조회
     *
     * @param meetingId 회의 ID
     * @return 처리된 회의록
     */
    ProcessedTranscript getTranscriptByMeetingId(String meetingId);
}
