abstract class LinkSpaceToModelState {
  const LinkSpaceToModelState();
}

class SpaceModelInitial extends LinkSpaceToModelState {}

class SpaceModelLoading extends LinkSpaceToModelState {}
class LinkSpaceModelLoading extends LinkSpaceToModelState {}


class SpaceModelSelectedState extends LinkSpaceToModelState {
  final int selectedIndex;
  const SpaceModelSelectedState(this.selectedIndex);
}

class SpaceModelSelectionUpdated extends LinkSpaceToModelState {
  final bool hasSelectedSpaces;
  const SpaceModelSelectionUpdated(this.hasSelectedSpaces);
}

class SpaceValidationSuccess extends LinkSpaceToModelState {}

class SpaceModelLinkSuccess extends LinkSpaceToModelState {}

class ValidationError extends LinkSpaceToModelState {
  final String message;
  const ValidationError(this.message);
}

class SpaceModelOperationFailure extends LinkSpaceToModelState {
  final String message;
  const SpaceModelOperationFailure(this.message);
}

class AlreadyHaveLinkedState extends LinkSpaceToModelState {
  const AlreadyHaveLinkedState();
}
