package com.mopub.nativeads;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import java.util.Map;
import java.util.Set;
import static com.mopub.nativeads.BaseForwardingNativeAd.NativeEventListener;
interface NativeAdInterface {
// Getters
@Nullable
String getMainImageUrl();
@Nullable
String getIconImageUrl();
@Nullable
String getClickDestinationUrl();
@Nullable
String getCallToAction();
@Nullable
String getTitle();
@Nullable
String getText();
@Nullable
Double getStarRating();
@NonNull
Set<String> getImpressionTrackers();
int getImpressionMinPercentageViewed();
int getImpressionMinTimeViewed();
boolean isOverridingClickTracker();
boolean isOverridingImpressionTracker();
// Extras Getters
@Nullable
Object getExtra(final String key);
@NonNull
Map<String, Object> getExtras();
// Setters
void setNativeEventListener(@Nullable final NativeEventListener nativeEventListener);
// Event Handlers
void prepare(@NonNull final View view);
void recordImpression();
void handleClick(@Nullable final View view);
void clear(@NonNull final View view);
void destroy();
}