import 'package:guru_utils/property/property.dart';
import 'package:guru_utils/property/property_model.dart';
import 'package:guru_utils/settings/settings.dart';
// import 'package:guru_applovin_flutter/gdpr/gdpr_models.dart';


class AdsDebugSettingsKeys {
  static const defaultGroup = "demo";

  static const PropertyKey forceGdpr = PropertyKey.setting("force_gdpr", group: defaultGroup);

  static const PropertyKey forceGdprType =
      PropertyKey.setting("force_gdpr_type", tag: AdsDebugPropertyTags.consent, group: defaultGroup);

  static const PropertyKey consentDebugGeography = PropertyKey.setting(
      "admob_consent_debug_geography",
      tag: AdsDebugPropertyTags.consent,
      group: defaultGroup);

  static const PropertyKey latestShownFundingChoicesTime = PropertyKey.setting(
      "latest_shown_funding_choices_time",
      tag: AdsDebugPropertyTags.consent,
      group: defaultGroup);

  static const PropertyKey admobConsentTestDeviceId = PropertyKey.setting(
      "admob_consent_test_device_id",
      tag: AdsDebugPropertyTags.consent,
      group: defaultGroup);

  static const PropertyKey forcePubmatic =
      PropertyKey.setting("force_pubmatic", tag: AdsDebugPropertyTags.ads, group: defaultGroup);
  
}

class AdsDebugPropertyTags {
  static const String consent = "consent";
  static const String ads = "ads";
}

class AdsDebugSettings extends Settings {
  static AdsDebugSettings instance = AdsDebugSettings._();

  final SettingData<bool> fakeInterstitialAds = SettingBoolData(UtilsPropertyKeys.fakeInterstitialAds, defaultValue: false);

  final SettingData<bool> fakeRewardedAds = SettingBoolData(UtilsPropertyKeys.fakeRewardedAds, defaultValue: false);

  final SettingData<bool> forcePubmatic = SettingBoolData(AdsDebugSettingsKeys.forcePubmatic, defaultValue: false);

  AdsDebugSettings._();
}
