from enum import Enum


class CorrectionType(str, Enum):
    WORD_SUBSTITUTION = "WORD_SUBSTITUTION"
    WORD_INSERTION = "WORD_INSERTION"
    WORD_DELETION = "WORD_DELETION"
    PUNCTUATION = "PUNCTUATION"
    TIMING_ADJUSTMENT = "TIMING_ADJUSTMENT"
    LINGUISTIC_IMPROVEMENT = "LINGUISTIC_IMPROVEMENT"


class ReviewerAction(str, Enum):
    ACCEPT = "ACCEPT"
    REJECT = "REJECT"
    MODIFY = "MODIFY"


class FeedbackCategory(str, Enum):
    AI_CORRECT = "AI_CORRECT"
    AI_INCORRECT = "AI_INCORRECT"
    AI_SUBOPTIMAL = "AI_SUBOPTIMAL"
    CONTEXT_NEEDED = "CONTEXT_NEEDED"
    SUBJECTIVE_PREFERENCE = "SUBJECTIVE_PREFERENCE"


class SessionType(str, Enum):
    FULL_CORRECTION = "FULL_CORRECTION"
    PARTIAL_REVIEW = "PARTIAL_REVIEW"
    REPROCESSING = "REPROCESSING"


class SessionStatus(str, Enum):
    IN_PROGRESS = "IN_PROGRESS"
    COMPLETED = "COMPLETED"
    FAILED = "FAILED"


