part of 'receive_message_cubit.dart';

sealed class ReceiveMessageState extends Equatable {
  const ReceiveMessageState();

  @override
  List<Object> get props => [];
}

final class ReceiveMessageInitial extends ReceiveMessageState {}

final class ReceiveMessageLoading extends ReceiveMessageState {}

final class ReceiveMessageOnResponsing extends ReceiveMessageState {
  final String text;

  const ReceiveMessageOnResponsing({required this.text});

  @override
  List<Object> get props => [text];
}

final class ReceiveMessageOnFail extends ReceiveMessageState {
  final String detail;
  final int statusCode;
  final String oldHumanMessageId;

  const ReceiveMessageOnFail(
      {required this.detail,
      required this.statusCode,
      required this.oldHumanMessageId});
}

final class ReceiveMessageDone extends ReceiveMessageState {
  final AiResponseModel model;
  final Messages message;
  final String oldHumanMessageId;

  const ReceiveMessageDone(
      {required this.model,
      required this.message,
      required this.oldHumanMessageId});
}
