part of 'flush_mounted_presence_sensor_bloc.dart';

sealed class FlushMountedPresenceSensorState extends Equatable {
  const FlushMountedPresenceSensorState();

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

class FlushMountedPresenceSensorInitialState
    extends FlushMountedPresenceSensorState {}

class FlushMountedPresenceSensorLoadingInitialState
    extends FlushMountedPresenceSensorState {}

class FlushMountedPresenceSensorUpdateState extends FlushMountedPresenceSensorState {
  final FlushMountedPresenceSensorModel model;
  const FlushMountedPresenceSensorUpdateState({required this.model});

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

class FlushMountedPresenceSensorLoadingNewSate
    extends FlushMountedPresenceSensorState {
  final FlushMountedPresenceSensorModel model;
  const FlushMountedPresenceSensorLoadingNewSate({required this.model});

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

class FlushMountedPresenceSensorFailedState extends FlushMountedPresenceSensorState {
  final String error;

  const FlushMountedPresenceSensorFailedState({required this.error});

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

class FlushMountedPresenceSensorDeviceReportsLoadingState
    extends FlushMountedPresenceSensorState {}

class FlushMountedPresenceSensorDeviceReportsState
    extends FlushMountedPresenceSensorState {
  const FlushMountedPresenceSensorDeviceReportsState({
    required this.deviceReport,
    required this.code,
  });

  final DeviceReport deviceReport;
  final String code;

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

class FlushMountedPresenceSensorDeviceReportsFailedState
    extends FlushMountedPresenceSensorState {
  const FlushMountedPresenceSensorDeviceReportsFailedState({required this.error});

  final String error;

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

class FlushMountedPresenceSensorShowDescriptionState
    extends FlushMountedPresenceSensorState {
  const FlushMountedPresenceSensorShowDescriptionState({required this.description});

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