import 'package:equatable/equatable.dart';
import '../../data/datasources/generator_remote_datasource.dart';

sealed class GeneratorState extends Equatable {
  const GeneratorState();

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

class GeneratorInitial extends GeneratorState {
  final List<String> knowledgeBases;

  const GeneratorInitial({this.knowledgeBases = const []});

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

class GeneratorRunning extends GeneratorState {
  const GeneratorRunning();
}

class GeneratorSuccess extends GeneratorState {
  final GenerateResultModel result;

  const GeneratorSuccess(this.result);

  @override
  List<Object?> get props => [result.scenariosGenerated];
}

class GeneratorError extends GeneratorState {
  final String message;

  const GeneratorError(this.message);

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