// This file is generated. Do not modify by hand.
// XML documentation file not found. To check if public methods have XML comments,
// make sure the XML doc file is present and located next to the scraped dll
public enum AdFormat
{
    Banner = 2,
    Interstitial = 1,
    RewardedVideo = 0,
}

public static class dataSource
{
    public static string MOPUB { get; }
}

public class IronSource : IronSourceIAgent
{
    [System.Obsolete(@"Please use the pluginVersion function", false)] public static string UNITY_PLUGIN_VERSION = @"8.8.1-r";
    public static IronSource Agent { get; }
    public void clearRewardedVideoServerParams();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.DestroyAd() method instead.")] public void destroyBanner();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.ShowAd() method instead.")] public void displayBanner();
    public string getAdvertiserId();
    public System.Nullable<int> getConversionValue();
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public float getDeviceScreenWidth();
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public float getMaximalAdaptiveHeight(float width);
    public IronSourcePlacement getPlacementInfo(string placementName);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.HideAd() method instead.")] public void hideBanner();
    public void init(string appKey);
    public void init(string appKey, params string[] adUnits);
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public bool isBannerPlacementCapped(string placementName);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayInterstitialAd.IsPlacementCapped(string placementName) method instead.")] public bool isInterstitialPlacementCapped(string placementName);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayInterstitialAd.IsAdReady() method instead.")] public bool isInterstitialReady();
    public bool isRewardedVideoAvailable();
    public bool isRewardedVideoPlacementCapped(string placementName);
    public void launchTestSuite();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.LoadAd() method instead.")] public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.LoadAd() method instead.")] public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName);
    public void loadConsentViewWithType(string consentViewType);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayInterstitialAd.LoadAd() method instead.")] public void loadInterstitial();
    public void loadRewardedVideo();
    public void onApplicationPause(bool pause);
    public static string pluginVersion();
    public void setAdaptersDebug(bool enabled);
    public void setAdRevenueData(string dataSource, System.Collections.Generic.Dictionary<string, string> impressionData);
    public void setConsent(bool consent);
    public bool setDynamicUserId(string dynamicUserId);
    public void setManualLoadRewardedVideo(bool isOn);
    public void setMetaData(string key, string value);
    public void setMetaData(string key, params string[] values);
    public void setNetworkData(string networkKey, string networkData);
    public void SetPauseGame(bool pause);
    public void setRewardedVideoServerParams(System.Collections.Generic.Dictionary<string, string> parameters);
    public void setSegment(IronSourceSegment segment);
    public static void setUnsupportedPlatform();
    public void setUserId(string userId);
    public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat);
    public void shouldTrackNetworkState(bool track);
    public void showConsentViewWithType(string consentViewType);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayInterstitialAd.ShowAd() method instead.")] public void showInterstitial();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayInterstitialAd.ShowAd(string placementName) method instead.")] public void showInterstitial(string placementName);
    public void showRewardedVideo();
    public void showRewardedVideo(string placementName);
    public static string unityVersion();
    public void validateIntegration();
}

public class IronSourceAdInfo
{
    public readonly string ab;
    public readonly string adNetwork;
    public readonly string adUnit;
    public readonly string auctionId;
    public readonly string country;
    public readonly string creativeId;
    public readonly string encryptedCPM;
    public readonly string instanceId;
    public readonly string instanceName;
    public readonly System.Nullable<double> lifetimeRevenue;
    public readonly string precision;
    public readonly System.Nullable<double> revenue;
    public readonly string segmentName;
    [System.Obsolete(@"This constructor will soon be made private. Please rely on the ad events to provide an AdInfo object", false)] public IronSourceAdInfo(string json) {}
    public override string ToString();
}

public static class IronSourceAdUnits
{
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdFormat.BANNER instead.")] public static string BANNER { get; }
    public static string INTERSTITIAL { get; }
    public static string OFFERWALL { get; }
    public static string REWARDED_VIDEO { get; }
}

[System.Obsolete(@"This class will be removed in version 9.0.0. Please use ILevelPlayBannerAd instead.")] public class IronSourceBannerEvents : UnityEngine.MonoBehaviour
{
    [System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayBannerAd.OnAdClicked instead.")] public static event System.Action<IronSourceAdInfo> onAdClickedEvent;
    [System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayBannerAd.OnAdLeftApplication instead.")] public static event System.Action<IronSourceAdInfo> onAdLeftApplicationEvent;
    [System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayBannerAd.OnAdLoaded instead.")] public static event System.Action<IronSourceAdInfo> onAdLoadedEvent;
    [System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayBannerAd.OnAdLoadFailed instead.")] public static event System.Action<IronSourceError> onAdLoadFailedEvent;
    [System.Obsolete(@"This event will be removed in version 9.0.0.")] public static event System.Action<IronSourceAdInfo> onAdScreenDismissedEvent;
    [System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayBannerAd.OnAdDisplayed instead.")] public static event System.Action<IronSourceAdInfo> onAdScreenPresentedEvent;
    public IronSourceBannerEvents() {}
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdClicked(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdLeftApplication(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdLoaded(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdLoadFailed(string description);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdScreenDismissed(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdScreenPresented(string args);
}

[System.Obsolete(@"This class will be removed in version 9.0.0., please use LevelPlayBannerPosition instead.")] public enum IronSourceBannerPosition
{
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayBannerPosition.BottomCenter instead.")] BOTTOM = 2,
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayBannerPosition.TopCenter instead.")] TOP = 1,
}

[System.Obsolete(@"This class will be removed in version 9.0.0. Please use LevelPlayAdSize instead.")] public class IronSourceBannerSize
{
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.BANNER instead.")] public static IronSourceBannerSize BANNER;
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.LARGE instead.")] public static IronSourceBannerSize LARGE;
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.MEDIUM_RECTANGLE instead.")] public static IronSourceBannerSize RECTANGLE;
    [System.Obsolete(@"This value will be removed in version 9.0.0.")] public static IronSourceBannerSize SMART;
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.Description instead.")] public string Description { get; }
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.Height instead.")] public int Height { get; }
    [System.Obsolete(@"This value will be removed in version 9.0.0. Please use LevelPlayAdSize.Width instead.")] public int Width { get; }
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public IronSourceBannerSize(string description) {}
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use LevelPlayAdSize.CreateCustomBannerSize() instead.")] public IronSourceBannerSize(int width, int height) {}
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public ISContainerParams getBannerContainerParams();
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public bool IsAdaptiveEnabled();
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public bool IsRespectAndroidCutoutsEnabled();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use LevelPlayBannerSize.CreateAdaptiveAdSize() instead.")] public void SetAdaptive(bool adaptive, int customWidth = -1);
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public void setBannerContainerParams(ISContainerParams parameters);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please refer to the LevelPlayBannerAd class documentation to handle Android display cutouts (Respect Safe Area).")] public void SetRespectAndroidCutouts(bool respectAndroidCutouts);
}

public class IronSourceConfig
{
    public static IronSourceConfig Instance { get; }
    [System.Obsolete(@"This function will be made private in a future version. Please use IronSourceConfig.Instance.", false)] public IronSourceConfig() {}
    [System.Obsolete(@"This function will be removed in a future version.", false)] public void setClientSideCallbacks(bool status);
    [System.Obsolete(@"This function will be removed in a future version.", false)] public void setLanguage(string language);
    [System.Obsolete(@"This function will be removed in a future version. Please use IronSource.Agent.setRewardedVideoServerParams instead", false)] public void setRewardedVideoCustomParams(System.Collections.Generic.Dictionary<string, string> rewardedVideoCustomParams);
}

[System.Obsolete(@"This class will be made private in a future version.", false)] public static class IronSourceConstants
{
    public const string bridgeClass = @"com.ironsource.unity.androidbridge.AndroidBridge";
    public const string EMPTY_STRING = @"";
    public const string ERROR_CODE = @"error_code";
    public const string ERROR_DESCRIPTION = @"error_description";
    public const string GENDER_FEMALE = @"female";
    public const string GENDER_MALE = @"male";
    public const string GENDER_UNKNOWN = @"unknown";
    public const string GET_INSTANCE_KEY = @"getInstance";
    public const string IMPRESSION_DATA_KEY_ABTEST = @"ab";
    public const string IMPRESSION_DATA_KEY_AD_NETWORK = @"adNetwork";
    public const string IMPRESSION_DATA_KEY_AD_UNIT = @"adUnit";
    public const string IMPRESSION_DATA_KEY_AUCTION_ID = @"auctionId";
    public const string IMPRESSION_DATA_KEY_CONVERSION_VALUE = @"conversionValue";
    public const string IMPRESSION_DATA_KEY_COUNTRY = @"country";
    public const string IMPRESSION_DATA_KEY_ENCRYPTED_CPM = @"encryptedCPM";
    public const string IMPRESSION_DATA_KEY_INSTANCE_ID = @"instanceId";
    public const string IMPRESSION_DATA_KEY_INSTANCE_NAME = @"instanceName";
    public const string IMPRESSION_DATA_KEY_LIFETIME_REVENUE = @"lifetimeRevenue";
    public const string IMPRESSION_DATA_KEY_PLACEMENT = @"placement";
    public const string IMPRESSION_DATA_KEY_PRECISION = @"precision";
    public const string IMPRESSION_DATA_KEY_REVENUE = @"revenue";
    public const string IMPRESSION_DATA_KEY_SEGMENT_NAME = @"segmentName";
    public const string impressionDataBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityImpressionDataListener";
    public const string initializeBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityInitializationListener";
    public const string IRONSOURCE_MEDIATED_NETWORK_SETTING_NAME = @"IronSourceMediatedNetworkSettings";
    public const string IRONSOURCE_MEDIATION_SETTING_NAME = @"IronSourceMediationSettings";
    public const string IRONSOURCE_RESOURCES_PATH = @"Assets/LevelPlay/Resources";
    public const string IRONSOURCE_SKAN_ID_KEY = @"su67r6k2v3.skadnetwork";
    public const string LevelPlaybannerBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityLevelPlayBannerListener";
    public const string LevelPlayinterstitialBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityLevelPlayInterstitialListener";
    public const string LevelPlayRewardedVideoBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityLevelPlayRewardedVideoListener";
    public const string LevelPlayRewardedVideoManualBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnityLevelPlayRewardedVideoManualListener";
    public const string segmentBridgeListenerClass = @"com.ironsource.unity.androidbridge.UnitySegmentListener";
}

public class IronSourceError
{
    [System.Obsolete(@"This function will be made private in a future version.", false)] public IronSourceError(int errorCode, string errorDescription) {}
    public int getCode();
    public string getDescription();
    public int getErrorCode();
    public override string ToString();
}

public class IronSourceEvents : UnityEngine.MonoBehaviour
{
    public static event System.Action<string> onConsentViewDidAcceptEvent;
    public static event System.Action<string> onConsentViewDidDismissEvent;
    public static event System.Action<string, IronSourceError> onConsentViewDidFailToLoadWithErrorEvent;
    public static event System.Action<string, IronSourceError> onConsentViewDidFailToShowWithErrorEvent;
    public static event System.Action<string> onConsentViewDidLoadSuccessEvent;
    public static event System.Action<string> onConsentViewDidShowSuccessEvent;
    public static event System.Action<IronSourceImpressionData> onImpressionDataReadyEvent;
    public static event System.Action onSdkInitializationCompletedEvent;
    public static event System.Action<string> onSegmentReceivedEvent;
    public IronSourceEvents() {}
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidAccept(string consentViewType);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidDismiss(string consentViewType);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidFailToLoadWithError(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidFailToShowWithError(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidLoadSuccess(string consentViewType);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onConsentViewDidShowSuccess(string consentViewType);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onSdkInitializationCompleted(string empty);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onSegmentReceived(string segmentName);
}

[System.Obsolete(@"This class will be made private in a future version.", false)] public class IronSourceEventsDispatcher : UnityEngine.MonoBehaviour
{
    public IronSourceEventsDispatcher() {}
    public void Awake();
    public static void executeAction(System.Action action);
    public static void initialize();
    public static bool isCreated();
    public void OnDisable();
    public void removeFromParent();
}

public interface IronSourceIAgent
{
    public void clearRewardedVideoServerParams();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.DestroyAd() method instead.")] public void destroyBanner();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.ShowAd() method instead.")] public void displayBanner();
    public string getAdvertiserId();
    public System.Nullable<int> getConversionValue();
    public float getDeviceScreenWidth();
    public float getMaximalAdaptiveHeight(float width);
    public IronSourcePlacement getPlacementInfo(string name);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.HideAd() method instead.")] public void hideBanner();
    public void init(string appKey);
    public void init(string appKey, params string[] adUnits);
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public bool isBannerPlacementCapped(string placementName);
    public bool isInterstitialPlacementCapped(string placementName);
    public bool isInterstitialReady();
    public bool isRewardedVideoAvailable();
    public bool isRewardedVideoPlacementCapped(string placementName);
    public void launchTestSuite();
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.LoadAd() method instead.")] public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position);
    [System.Obsolete(@"This method will be removed in version 9.0.0. Please use the LevelPlayBannerAd.LoadAd() method instead.")] public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName);
    public void loadConsentViewWithType(string consentViewType);
    public void loadInterstitial();
    public void loadRewardedVideo();
    public void onApplicationPause(bool pause);
    public void setAdaptersDebug(bool enabled);
    public void setAdRevenueData(string dataSource, System.Collections.Generic.Dictionary<string, string> impressionData);
    public void setConsent(bool consent);
    public bool setDynamicUserId(string dynamicUserId);
    public void setManualLoadRewardedVideo(bool isOn);
    public void setMetaData(string key, string value);
    public void setMetaData(string key, params string[] values);
    public void setNetworkData(string networkKey, string networkData);
    public void SetPauseGame(bool pause);
    public void setRewardedVideoServerParams(System.Collections.Generic.Dictionary<string, string> parameters);
    public void setSegment(IronSourceSegment segment);
    public void setUserId(string userId);
    public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat);
    public void shouldTrackNetworkState(bool track);
    public void showConsentViewWithType(string consentViewType);
    public void showInterstitial();
    public void showInterstitial(string placementName);
    public void showRewardedVideo();
    public void showRewardedVideo(string placementName);
    public void validateIntegration();
}

public class IronSourceImpressionData
{
    public readonly string ab;
    public readonly string adFormat;
    public readonly string adNetwork;
    [System.Obsolete(@"This parameter will be removed in version 9.0.0. Please use the AdFormat parameter instead.")] public readonly string adUnit;
    public readonly string allData;
    public readonly string auctionId;
    public readonly System.Nullable<int> conversionValue;
    public readonly string country;
    public readonly string CreativeId;
    public readonly string encryptedCPM;
    public readonly string instanceId;
    public readonly string instanceName;
    [System.Obsolete(@"This parameter will be removed in version 9.0.0.")] public readonly System.Nullable<double> lifetimeRevenue;
    public readonly string mediationAdUnitId;
    public readonly string mediationAdUnitName;
    public readonly string placement;
    public readonly string precision;
    public readonly System.Nullable<double> revenue;
    public readonly string segmentName;
    [System.Obsolete(@"This function will be made private in a future version.", false)] public IronSourceImpressionData(string json) {}
    public override string ToString();
}

[System.Obsolete(@"This class will be made private in a future version.", false)] public class IronSourceInitilizer
{
    public IronSourceInitilizer() {}
}

[System.Obsolete(@"This event will be removed in version 9.0.0. Please use ILevelPlayInterstitialAd instead.")] public class IronSourceInterstitialEvents : UnityEngine.MonoBehaviour
{
    public static event System.Action<IronSourceAdInfo> onAdClickedEvent;
    public static event System.Action<IronSourceAdInfo> onAdClosedEvent;
    public static event System.Action<IronSourceError> onAdLoadFailedEvent;
    public static event System.Action<IronSourceAdInfo> onAdOpenedEvent;
    public static event System.Action<IronSourceAdInfo> onAdReadyEvent;
    public static event System.Action<IronSourceError, IronSourceAdInfo> onAdShowFailedEvent;
    public static event System.Action<IronSourceAdInfo> onAdShowSucceededEvent;
    public IronSourceInterstitialEvents() {}
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdClicked(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdClosed(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdLoadFailed(string description);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdOpened(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdReady(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdShowFailed(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdShowSucceeded(string args);
}

[UnityEngine.HelpURL(@"https://developers.is.com/ironsource-mobile/unity/unity-developer-tools/")] public class IronSourceMediationSettings : UnityEngine.ScriptableObject
{
    [UnityEngine.Header(@"Ironsource SKAdNetwork ID")] [UnityEngine.Tooltip(@"Add Ironsource SKAdNetworkIdentifier to your Info.plist for iOS 14+")] public bool AddIronsourceSkadnetworkID;
    [UnityEngine.Tooltip(@"Add your application AppKeys, as provided in Ironsource Platform")] public string AndroidAppKey;
    [UnityEngine.Header(@"Google Play Services Settings")] [UnityEngine.Tooltip(@"Add Google Play Services normal permission for API level 31 (Android 12)")] public bool DeclareAD_IDPermission;
    [UnityEngine.Header(@"Project Features")] public bool EnableAdapterDebug;
    public bool EnableIntegrationHelper;
    [UnityEngine.Header(@"Automatic Initialization")] [UnityEngine.Tooltip(@"Use this flag when you wish to initialize all ad units (recommended)")] public bool EnableIronsourceSDKInitAPI;
    [UnityEngine.Tooltip(@"Add your application AppKeys, as provided in Ironsource Platform")] public string IOSAppKey;
    public static readonly string IRONSOURCE_SETTINGS_ASSET_PATH;
    public IronSourceMediationSettings() {}
}

public class IronSourcePlacement
{
    [System.Obsolete(@"This function will be made private in a future version.", false)] public IronSourcePlacement(string placementName, string rewardName, int rewardAmount) {}
    public string getPlacementName();
    public int getRewardAmount();
    public string getRewardName();
    public override string ToString();
}

public class IronSourceRewardedVideoEvents : UnityEngine.MonoBehaviour
{
    public static event System.Action<IronSourceAdInfo> onAdAvailableEvent;
    public static event System.Action<IronSourcePlacement, IronSourceAdInfo> onAdClickedEvent;
    public static event System.Action<IronSourceAdInfo> onAdClosedEvent;
    public static event System.Action<IronSourceError> onAdLoadFailedEvent;
    public static event System.Action<IronSourceAdInfo> onAdOpenedEvent;
    public static event System.Action<IronSourceAdInfo> onAdReadyEvent;
    public static event System.Action<IronSourcePlacement, IronSourceAdInfo> onAdRewardedEvent;
    public static event System.Action<IronSourceError, IronSourceAdInfo> onAdShowFailedEvent;
    public static event System.Action onAdUnavailableEvent;
    public IronSourceRewardedVideoEvents() {}
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdAvailable(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdClicked(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdClosed(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdLoadFailed(string description);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdOpened(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdReady(string adinfo);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdRewarded(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdShowFailed(string args);
    [System.Obsolete(@"This function will be made private in a future version. Please avoid triggering events manually.", false)] public void onAdUnavailable();
}

public class IronSourceSegment
{
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public int age;
    public System.Collections.Generic.Dictionary<string, string> customs;
    [System.Obsolete(@"This method will be removed in version 9.0.0.")] public string gender;
    public double iapt = 0d;
    public int isPaying;
    public int level;
    public string segmentName;
    public long userCreationDate;
    public IronSourceSegment() {}
    public System.Collections.Generic.Dictionary<string, string> getSegmentAsDict();
    public void setCustom(string key, string value);
}

[System.Obsolete(@"Please use IronSourceEvents", false)] public class IronSourceSegmentAndroid : UnityEngine.AndroidJavaProxy, IUnitySegment
{
    public event System.Action<string> OnSegmentRecieved;
    public IronSourceSegmentAndroid() {}
    public void onSegmentRecieved(string segmentName);
}

[System.Obsolete(@"This class will be made private in a future version.", false)] public class IronSourceUtils
{
    public IronSourceUtils() {}
    public static IronSourceError getErrorFromErrorObject(object descriptionObject);
    public static IronSourcePlacement getPlacementFromObject(object placementObject);
}

[System.Obsolete(@"This class will be removed in version 9.0.0.")] public class ISContainerParams
{
    [System.Obsolete(@"This value will be removed in version 9.0.0.")] public float Height { get; set; }
    [System.Obsolete(@"This value will be removed in version 9.0.0.")] public float Width { get; set; }
    [System.Obsolete(@"This constructor will be removed in version 9.0.0.")] public ISContainerParams() {}
}

public interface IUnityImpressionData
{
    public event System.Action<IronSourceImpressionData> OnImpressionDataReady;
    public event System.Action<IronSourceImpressionData> OnImpressionSuccess;
}

public interface IUnityInitialization
{
    public event System.Action OnSdkInitializationCompletedEvent;
}

[System.Obsolete(@"IUnityLevelPlayBanner will be deprecated.")] public interface IUnityLevelPlayBanner
{
    public event System.Action<IronSourceAdInfo> OnAdClicked;
    public event System.Action<IronSourceAdInfo> OnAdLeftApplication;
    public event System.Action<IronSourceAdInfo> OnAdLoaded;
    public event System.Action<IronSourceError> OnAdLoadFailed;
    public event System.Action<IronSourceAdInfo> OnAdScreenDismissed;
    public event System.Action<IronSourceAdInfo> OnAdScreenPresented;
}

[System.Obsolete(@"IUnityLevelPlayInterstitial will be deprecated.")] public interface IUnityLevelPlayInterstitial
{
    public event System.Action<IronSourceAdInfo> OnAdClicked;
    public event System.Action<IronSourceAdInfo> OnAdClosed;
    public event System.Action<IronSourceError> OnAdLoadFailed;
    public event System.Action<IronSourceAdInfo> OnAdOpened;
    public event System.Action<IronSourceAdInfo> OnAdReady;
    public event System.Action<IronSourceError, IronSourceAdInfo> OnAdShowFailed;
    public event System.Action<IronSourceAdInfo> OnAdShowSucceeded;
}

public interface IUnityLevelPlayRewardedVideo
{
    public event System.Action<IronSourceAdInfo> OnAdAvailable;
    public event System.Action<IronSourcePlacement, IronSourceAdInfo> OnAdClicked;
    public event System.Action<IronSourceAdInfo> OnAdClosed;
    public event System.Action<IronSourceAdInfo> OnAdOpened;
    public event System.Action<IronSourcePlacement, IronSourceAdInfo> OnAdRewarded;
    public event System.Action<IronSourceError, IronSourceAdInfo> OnAdShowFailed;
    public event System.Action OnAdUnavailable;
}

public interface IUnityLevelPlayRewardedVideoManual
{
    public event System.Action<IronSourceError> OnAdLoadFailed;
    public event System.Action<IronSourceAdInfo> OnAdReady;
}

public interface IUnitySegment
{
    public event System.Action<string> OnSegmentRecieved;
}

[System.Obsolete(@"Please use IronSource.Agent", false)] public class UnsupportedPlatformAgent : IronSourceIAgent
{
    public UnsupportedPlatformAgent() {}
    public void clearRewardedVideoServerParams();
    public void destroyBanner();
    public void displayBanner();
    public string getAdvertiserId();
    public System.Nullable<int> getConversionValue();
    public float getDeviceScreenWidth();
    public float getMaximalAdaptiveHeight(float width);
    public IronSourcePlacement getPlacementInfo(string placementName);
    public void hideBanner();
    public void init(string appKey);
    public void init(string appKey, params string[] adUnits);
    public bool isBannerPlacementCapped(string placementName);
    public bool isInterstitialPlacementCapped(string placementName);
    public bool isInterstitialReady();
    public bool isRewardedVideoAvailable();
    public bool isRewardedVideoPlacementCapped(string placementName);
    public void launchTestSuite();
    public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position);
    public void loadBanner(IronSourceBannerSize size, IronSourceBannerPosition position, string placementName);
    public void loadConsentViewWithType(string consentViewType);
    public void loadInterstitial();
    public void loadRewardedVideo();
    public void onApplicationPause(bool pause);
    public void setAdaptersDebug(bool enabled);
    public void setAdRevenueData(string dataSource, System.Collections.Generic.Dictionary<string, string> impressionData);
    public void setBannerContainerParams(ISContainerParams parameters);
    public void setConsent(bool consent);
    public bool setDynamicUserId(string dynamicUserId);
    public void setManualLoadRewardedVideo(bool isOn);
    public void setMetaData(string key, string value);
    public void setMetaData(string key, params string[] values);
    public void setNetworkData(string networkKey, string networkDataJson);
    public void SetPauseGame(bool pause);
    public void setRewardedVideoServerParams(System.Collections.Generic.Dictionary<string, string> parameters);
    public void setSegment(IronSourceSegment segment);
    public void setUserId(string userId);
    public void SetWaterfallConfiguration(WaterfallConfiguration waterfallConfiguration, AdFormat adFormat);
    public void shouldTrackNetworkState(bool track);
    public void showConsentViewWithType(string consentViewType);
    public void showInterstitial();
    public void showInterstitial(string placementName);
    public void showRewardedVideo();
    public void showRewardedVideo(string placementName);
    public void start();
    public void validateIntegration();
}

public class WaterfallConfiguration
{
    public System.Nullable<double> Ceiling { get; }
    public System.Nullable<double> Floor { get; }
    public static WaterfallConfiguration.WaterfallConfigurationBuilder Builder();
    public static WaterfallConfiguration Empty();
    public class WaterfallConfigurationBuilder
    {
        public WaterfallConfiguration Build();
        public WaterfallConfiguration.WaterfallConfigurationBuilder SetCeiling(double ceiling);
        public WaterfallConfiguration.WaterfallConfigurationBuilder SetFloor(double floor);
    }
}

namespace com.unity3d.mediation
{
    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use ILevelPlayBannerAd under the new namespace Unity.Services.LevelPlay.")] public interface ILevelPlayBannerAd : System.IDisposable, Unity.Services.LevelPlay.ILevelPlayBannerAd
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use ILevelPlayInterstitialAd under the new namespace Unity.Services.LevelPlay.")] public interface ILevelPlayInterstitialAd : System.IDisposable, Unity.Services.LevelPlay.ILevelPlayInterstitialAd
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use ILevelPlayRewardedAd under the new namespace Unity.Services.LevelPlay.")] public interface ILevelPlayRewardedAd : System.IDisposable, Unity.Services.LevelPlay.ILevelPlayRewardedAd
    {
    }

    [System.Obsolete(@"IosNativeObject will be deprecated.")] public abstract class IosNativeObject : System.IDisposable
    {
        public System.IntPtr NativePtr { get; protected set; }
        protected IosNativeObject(bool usesCallbacks) {}
        protected bool CheckDisposedAndLogError(string message);
        public virtual void Dispose();
        protected static T Get<T>(System.IntPtr ptr) where T : IosNativeObject;
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlay under the new namespace Unity.Services.LevelPlay.")] public class LevelPlay : Unity.Services.LevelPlay.LevelPlay
    {
        public LevelPlay() {}
    }

    [System.Obsolete(@"The class LevelPlayAdDisplayInfoError will be removed in version 9.0.0. Please update OnAdDisplayFailed event to use LevelPlayAdInfo and LevelPlayAdError instead.")] public class LevelPlayAdDisplayInfoError : Unity.Services.LevelPlay.LevelPlayAdDisplayInfoError
    {
        [System.Obsolete(@"The constructor of LevelPlayAdDisplayInfoError will be removed in version 9.0.0.")] public LevelPlayAdDisplayInfoError(Unity.Services.LevelPlay.LevelPlayAdInfo levelPlayAdInfo, Unity.Services.LevelPlay.LevelPlayAdError error) {}
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayAdError under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayAdError : Unity.Services.LevelPlay.LevelPlayAdError
    {
        [System.Obsolete(@"The constructor LevelPlayAdError will be removed in version 9.0.0.")] public LevelPlayAdError(string adUnitId, int errorCode, string errorMessage) {}
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayAdFormat under the new namespace Unity.Services.LevelPlay.")] public enum LevelPlayAdFormat
    {
        BANNER = 0,
        INTERSTITIAL = 1,
        REWARDED = 2,
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayAdInfo under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayAdInfo : Unity.Services.LevelPlay.LevelPlayAdInfo
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayAdSize under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayAdSize
    {
        public static LevelPlayAdSize BANNER { get; }
        public int CustomWidth { get; }
        public string Description { get; }
        public int Height { get; }
        public static LevelPlayAdSize LARGE { get; }
        public static LevelPlayAdSize LEADERBOARD { get; }
        public static LevelPlayAdSize MEDIUM_RECTANGLE { get; }
        public int Width { get; }
        public static LevelPlayAdSize CreateAdaptiveAdSize(int customWidth = -1);
        public static LevelPlayAdSize CreateCustomBannerSize(int width, int height);
        public override string ToString();
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayBannerAd under the new namespace Unity.Services.LevelPlay.")] public sealed class LevelPlayBannerAd : Unity.Services.LevelPlay.LevelPlayBannerAd
    {
        public LevelPlayBannerAd(string adUnitId, LevelPlayAdSize size = default(LevelPlayAdSize), LevelPlayBannerPosition position = default(LevelPlayBannerPosition), string placementName = default(string), bool displayOnLoad = true, bool respectSafeArea = false) {}
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayBannerPosition under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayBannerPosition
    {
        public static readonly LevelPlayBannerPosition BottomCenter;
        public static readonly LevelPlayBannerPosition BottomLeft;
        public static readonly LevelPlayBannerPosition BottomRight;
        public static readonly LevelPlayBannerPosition Center;
        public static readonly LevelPlayBannerPosition CenterLeft;
        public static readonly LevelPlayBannerPosition CenterRight;
        public static readonly LevelPlayBannerPosition TopCenter;
        public static readonly LevelPlayBannerPosition TopLeft;
        public static readonly LevelPlayBannerPosition TopRight;
        public LevelPlayBannerPosition(UnityEngine.Vector2 position) {}
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayConfiguration under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayConfiguration : Unity.Services.LevelPlay.LevelPlayConfiguration
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayInitError under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayInitError : Unity.Services.LevelPlay.LevelPlayInitError
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayInterstitialAd under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayInterstitialAd : Unity.Services.LevelPlay.LevelPlayInterstitialAd
    {
        public LevelPlayInterstitialAd(string adUnitId) {}
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayReward under the new namespace Unity.Services.LevelPlay.")] public class LevelPlayReward : Unity.Services.LevelPlay.LevelPlayReward
    {
    }

    [System.Obsolete(@"The namespace com.unity3d.mediation is deprecated. Use LevelPlayRewardedAd under the new namespace Unity.Services.LevelPlay.")] public sealed class LevelPlayRewardedAd : Unity.Services.LevelPlay.LevelPlayRewardedAd
    {
        public LevelPlayRewardedAd(string adUnitId) {}
    }

    [System.Obsolete(@"UnsupportedBannerAd will be deprecated.")] public class UnsupportedBannerAd : Unity.Services.LevelPlay.UnsupportedBannerAd
    {
        public UnsupportedBannerAd(string adUnitId, LevelPlayAdSize size, LevelPlayBannerPosition position, string placementId) {}
    }
}

namespace IronSourceJSON
{
    [System.Obsolete(@"This class will be made private in a future version.", false)] public static class Json
    {
        public static object Deserialize(string json);
        public static string Serialize(object obj);
    }
}

namespace Unity.Services.LevelPlay
{
    public interface ILevelPlayBannerAd : System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdCollapsed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdExpanded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLeftApplication;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public void DestroyAd();
        public string GetAdId();
        public com.unity3d.mediation.LevelPlayAdSize GetAdSize();
        public string GetAdUnitId();
        public string GetPlacementName();
        public com.unity3d.mediation.LevelPlayBannerPosition GetPosition();
        public void HideAd();
        public void LoadAd();
        public void PauseAutoRefresh();
        public void ResumeAutoRefresh();
        public void ShowAd();
    }

    public interface ILevelPlayInterstitialAd : System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClosed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdInfoChanged;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public string AdUnitId { get; }
        public void DestroyAd();
        public string GetAdId();
        public bool IsAdReady();
        public void LoadAd();
        public void ShowAd(string placementName = default(string));
    }

    public interface ILevelPlayRewardedAd : System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClosed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdInfoChanged;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo, com.unity3d.mediation.LevelPlayReward> OnAdRewarded;
        public string AdUnitId { get; }
        public void DestroyAd();
        public string GetAdId();
        public bool IsAdReady();
        public void LoadAd();
        public void ShowAd(string placementName = default(string));
    }

    public class LevelPlay
    {
        public static event System.Action<com.unity3d.mediation.LevelPlayInitError> OnInitFailed;
        public static event System.Action<com.unity3d.mediation.LevelPlayConfiguration> OnInitSuccess;
        public LevelPlay() {}
        public static void Init(string appKey, string userId = default(string), com.unity3d.mediation.LevelPlayAdFormat[] adFormats = default(com.unity3d.mediation.LevelPlayAdFormat[]));
        public static void SetPauseGame(bool pause);
    }

    [System.Obsolete(@"The class LevelPlayAdDisplayInfoError will be removed in version 9.0.0. Please update OnAdDisplayFailed event to use LevelPlayAdInfo and LevelPlayAdError instead.")] public class LevelPlayAdDisplayInfoError
    {
        public LevelPlayAdInfo DisplayLevelPlayAdInfo { get; }
        public LevelPlayAdError LevelPlayError { get; }
        public override string ToString();
    }

    public class LevelPlayAdError
    {
        public string AdId { get; }
        public string AdUnitId { get; }
        public int ErrorCode { get; }
        public string ErrorMessage { get; }
        public override string ToString();
    }

    public enum LevelPlayAdFormat
    {
        BANNER = 0,
        INTERSTITIAL = 1,
        REWARDED = 2,
    }

    public class LevelPlayAdInfo
    {
        [System.Obsolete(@"ab will be replaced by Ab in version 9.0.0.")] public readonly string ab;
        public readonly string Ab;
        [System.Obsolete(@"adFormat will be replaced by AdFormat in version 9.0.0.")] public readonly string adFormat;
        public readonly string AdFormat;
        public readonly string AdId;
        [System.Obsolete(@"adNetwork will be replaced by AdNetwork in version 9.0.0.")] public readonly string adNetwork;
        public readonly string AdNetwork;
        [JetBrains.Annotations.CanBeNull] [System.Obsolete(@"adSize will be replaced by AdSize in version 9.0.0.")] public readonly LevelPlayAdSize adSize;
        [JetBrains.Annotations.CanBeNull] public readonly LevelPlayAdSize AdSize;
        [System.Obsolete(@"adUnitId will be replaced by AdUnitId in version 9.0.0.")] public readonly string adUnitId;
        public readonly string AdUnitId;
        [System.Obsolete(@"adUnitName will be replaced by AdUnitName in version 9.0.0.")] public readonly string adUnitName;
        public readonly string AdUnitName;
        [System.Obsolete(@"auctionId will be replaced by AuctionId in version 9.0.0.")] public readonly string auctionId;
        public readonly string AuctionId;
        [System.Obsolete(@"country will be replaced by Country in version 9.0.0.")] public readonly string country;
        public readonly string Country;
        public readonly string CreativeId;
        [System.Obsolete(@"encryptedCPM will be replaced by EncryptedCPM in version 9.0.0.")] public readonly string encryptedCPM;
        public readonly string EncryptedCPM;
        [System.Obsolete(@"instanceId will be replaced by InstanceId in version 9.0.0.")] public readonly string instanceId;
        public readonly string InstanceId;
        [System.Obsolete(@"instanceName will be replaced by InstanceName in version 9.0.0.")] public readonly string instanceName;
        public readonly string InstanceName;
        [System.Obsolete(@"placementName will be replaced by PlacementName in version 9.0.0.")] public readonly string placementName;
        public readonly string PlacementName;
        [System.Obsolete(@"precision will be replaced by Precision in version 9.0.0.")] public readonly string precision;
        public readonly string Precision;
        [System.Obsolete(@"revenue will be replaced by Revenue in version 9.0.0.")] public readonly System.Nullable<double> revenue;
        public readonly System.Nullable<double> Revenue;
        [System.Obsolete(@"segmentName will be replaced by SegmentName in version 9.0.0.")] public readonly string segmentName;
        public readonly string SegmentName;
        public override string ToString();
    }

    public class LevelPlayAdSize
    {
        public static LevelPlayAdSize BANNER;
        public static LevelPlayAdSize LARGE;
        public static LevelPlayAdSize LEADERBOARD;
        public static LevelPlayAdSize MEDIUM_RECTANGLE;
        [System.Obsolete(@"CustomWidth will be removed in version 9.0.0. Please use LevelPlayAdSize.Width instead.")] public int CustomWidth { get; }
        public string Description { get; }
        public int Height { get; }
        public int Width { get; }
        public static LevelPlayAdSize CreateAdaptiveAdSize(int customWidth = -1);
        public static LevelPlayAdSize CreateCustomBannerSize(int width, int height);
        public override string ToString();
    }

    public class LevelPlayBannerAd : com.unity3d.mediation.ILevelPlayBannerAd, ILevelPlayBannerAd, System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdCollapsed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdExpanded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLeftApplication;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public LevelPlayBannerAd(string adUnitId, com.unity3d.mediation.LevelPlayAdSize size = default(com.unity3d.mediation.LevelPlayAdSize), com.unity3d.mediation.LevelPlayBannerPosition position = default(com.unity3d.mediation.LevelPlayBannerPosition), string placementName = default(string), bool displayOnLoad = true, bool respectSafeArea = false) {}
        public void DestroyAd();
        public void Dispose();
        public string GetAdId();
        public com.unity3d.mediation.LevelPlayAdSize GetAdSize();
        public string GetAdUnitId();
        public string GetPlacementName();
        public com.unity3d.mediation.LevelPlayBannerPosition GetPosition();
        public void HideAd();
        public void LoadAd();
        public void PauseAutoRefresh();
        public void ResumeAutoRefresh();
        public void ShowAd();
    }

    public class LevelPlayBannerPosition
    {
        public static readonly LevelPlayBannerPosition BottomCenter;
        public static readonly LevelPlayBannerPosition BottomLeft;
        public static readonly LevelPlayBannerPosition BottomRight;
        public static readonly LevelPlayBannerPosition Center;
        public static readonly LevelPlayBannerPosition CenterLeft;
        public static readonly LevelPlayBannerPosition CenterRight;
        public readonly string Description;
        public static readonly LevelPlayBannerPosition TopCenter;
        public static readonly LevelPlayBannerPosition TopLeft;
        public static readonly LevelPlayBannerPosition TopRight;
        public LevelPlayBannerPosition(UnityEngine.Vector2 position) {}
        public override string ToString();
    }

    public class LevelPlayConfiguration
    {
        public bool IsAdQualityEnabled { get; }
    }

    public class LevelPlayInitError
    {
        public int ErrorCode { get; }
        public string ErrorMessage { get; }
        public override string ToString();
    }

    public class LevelPlayInterstitialAd : com.unity3d.mediation.ILevelPlayInterstitialAd, ILevelPlayInterstitialAd, System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClosed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdInfoChanged;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public string AdUnitId { get; }
        public LevelPlayInterstitialAd(string adUnitId) {}
        public void DestroyAd();
        public void Dispose();
        public string GetAdId();
        public bool IsAdReady();
        public static bool IsPlacementCapped(string placementName);
        public void LoadAd();
        public void ShowAd(string placementName = default(string));
    }

    public class LevelPlayReward
    {
        public int Amount { get; }
        public string Name { get; }
    }

    public class LevelPlayRewardedAd : com.unity3d.mediation.ILevelPlayRewardedAd, ILevelPlayRewardedAd, System.IDisposable
    {
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdClosed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdInfoChanged;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.Action<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public event System.Action<com.unity3d.mediation.LevelPlayAdInfo, com.unity3d.mediation.LevelPlayReward> OnAdRewarded;
        public string AdUnitId { get; }
        public LevelPlayRewardedAd(string adUnitId) {}
        public void DestroyAd();
        public void Dispose();
        public string GetAdId();
        public bool IsAdReady();
        public static bool IsPlacementCapped(string placementName);
        public void LoadAd();
        public void ShowAd(string placementName = default(string));
    }

    public class UnsupportedBannerAd : System.IDisposable
    {
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdClicked;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdCollapsed;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdDisplayed;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdDisplayInfoError> OnAdDisplayFailed;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdExpanded;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdLeftApplication;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdInfo> OnAdLoaded;
        public event System.EventHandler<com.unity3d.mediation.LevelPlayAdError> OnAdLoadFailed;
        public string AdId { get; }
        public com.unity3d.mediation.LevelPlayAdSize AdSize { get; }
        public string AdUnitId { get; }
        public string PlacementName { get; }
        public com.unity3d.mediation.LevelPlayBannerPosition Position { get; }
        public LevelPlayAdSize Size { get; }
        public UnsupportedBannerAd(string adUnitId, com.unity3d.mediation.LevelPlayAdSize size, com.unity3d.mediation.LevelPlayBannerPosition position, string placementId) {}
        public void DestroyAd();
        public void Dispose();
        public void HideAd();
        public void Load();
        public void PauseAutoRefresh();
        public void ResumeAutoRefresh();
        public void SetAutoRefresh(bool flag);
        public void ShowAd();
    }
}
