import 'package:flutter/cupertino.dart';

class OptionData {
  final Key key;
  final String title;
  final String? value;
  final bool isLive;
  final bool isSelected;

  const OptionData({required this.key, required this.title, this.value, this.isLive = false, this.isSelected = false});

  const OptionData.withValueEqualTitle(Key key, String title): this(key: key, title: title, value: title);
}

class BoolOptionData {
  final Key key;
  final String title;
  final bool isSelected;
  final Function(bool)? onChange;

  BoolOptionData({required this.key, required this.title, required this.isSelected, this.onChange});
}

class OptionDataContainer {
  final Key? key;
  final String title;
  final List<OptionData> options;
  final int? selectedIndex;
  final Function(OptionData)? onSelectedOption;

  OptionDataContainer({
      this.key,
      required this.title,
      required this.options,
      this.selectedIndex,
      this.onSelectedOption
  });
}

class NumericOptionData {
  final Key key;
  final String title;
  final int value;
  final Function(int)? onChange;

  const NumericOptionData({required this.key, required this.title, required this.value, this.onChange});
}