import 'package:equatable/equatable.dart'; abstract class Success with EquatableMixin {} abstract class ViewState extends Success {} abstract class ViewEvent extends Success {} class UIState extends ViewState { static final idle = UIState(); UIState() : super(); @override List get props => []; } class LoadingState extends UIState { LoadingState(); @override List get props => []; } class LoadingMoreState extends UIState { LoadingMoreState(); @override List get props => []; } class RefreshingState extends UIState { RefreshingState(); @override List get props => []; }