// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BaseInteractor.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BaseInteractor {
// 
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BasePresenter.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BasePresenter<V extends BaseView> {
//     void attachView(V view);
// 
//     void detachView();
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BaseView.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BaseView<P extends BasePresenter> {
//     void attachPresenter(@Nullable P presenter);
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/models/model/InformationPojo.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public class InformationPojo {
//     private final long sizeInByte;
//     private final String path;
// 
//     public InformationPojo(long sizeInByte, String path) {
//         this.sizeInByte = sizeInByte;
//         this.path = path;
//     }
// 
//     public long getSizeInByte() {
//         return sizeInByte;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/models/model/ModelPojo.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public class ModelPojo {
//     final Class<? extends RealmModel> klass;
//     long count;
// 
//     public ModelPojo(Class<? extends RealmModel> klass, long count) {
//         this.klass = klass;
//         this.count = count;
//     }
// 
//     public Class<? extends RealmModel> getKlass() {
//         return klass;
//     }
// 
//     public long getCount() {
//         return count;
//     }
// 
//     public void setCount(long count) {
//         this.count = count;
//     }
// }


import android.content.Context;
import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.RestrictTo;
import java.lang.annotation.Retention;
import java.util.ArrayList;
import de.jonasrottmann.realmbrowser.basemvp.BaseInteractor;
import de.jonasrottmann.realmbrowser.basemvp.BasePresenter;
import de.jonasrottmann.realmbrowser.basemvp.BaseView;
import de.jonasrottmann.realmbrowser.models.model.InformationPojo;
import de.jonasrottmann.realmbrowser.models.model.ModelPojo;
import static java.lang.annotation.RetentionPolicy.SOURCE;
package de.jonasrottmann.realmbrowser.models;





@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public interface ModelsContract {
    @Retention(SOURCE)
    @IntDef({SortMode.ASC, SortMode.DESC})
    @interface SortMode {
        int ASC = 0;
        int DESC = 1;
    }

    interface View extends BaseView<Presenter> {
        void updateWithModels(@NonNull ArrayList<ModelPojo> filesList, @SortMode int sortMode);

        Context getViewContext();

// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BaseInteractor.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BaseInteractor {
// 
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BasePresenter.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BasePresenter<V extends BaseView> {
//     void attachView(V view);
// 
//     void detachView();
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/basemvp/BaseView.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public interface BaseView<P extends BasePresenter> {
//     void attachPresenter(@Nullable P presenter);
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/models/model/InformationPojo.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public class InformationPojo {
//     private final long sizeInByte;
//     private final String path;
// 
//     public InformationPojo(long sizeInByte, String path) {
//         this.sizeInByte = sizeInByte;
//         this.path = path;
//     }
// 
//     public long getSizeInByte() {
//         return sizeInByte;
//     }
// 
//     public String getPath() {
//         return path;
//     }
// }
// 
// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/models/model/ModelPojo.java
// @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
// public class ModelPojo {
//     final Class<? extends RealmModel> klass;
//     long count;
// 
//     public ModelPojo(Class<? extends RealmModel> klass, long count) {
//         this.klass = klass;
//         this.count = count;
//     }
// 
//     public Class<? extends RealmModel> getKlass() {
//         return klass;
//     }
// 
//     public long getCount() {
//         return count;
//     }
// 
//     public void setCount(long count) {
//         this.count = count;
//     }
// }


// Path: realm-browser/src/main/java/de/jonasrottmann/realmbrowser/models/ModelsContract.java
import android.content.Context;
import android.support.annotation.IntDef;
import android.support.annotation.NonNull;
import android.support.annotation.RestrictTo;
import java.lang.annotation.Retention;
import java.util.ArrayList;
import de.jonasrottmann.realmbrowser.basemvp.BaseInteractor;
import de.jonasrottmann.realmbrowser.basemvp.BasePresenter;
import de.jonasrottmann.realmbrowser.basemvp.BaseView;
import de.jonasrottmann.realmbrowser.models.model.InformationPojo;
import de.jonasrottmann.realmbrowser.models.model.ModelPojo;
import static java.lang.annotation.RetentionPolicy.SOURCE;

package de.jonasrottmann.realmbrowser.models;





@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)
public interface ModelsContract {
    @Retention(SOURCE)
    @IntDef({SortMode.ASC, SortMode.DESC})
    @interface SortMode {
        int ASC = 0;
        int DESC = 1;
    }

    interface View extends BaseView<Presenter> {
        void updateWithModels(@NonNull ArrayList<ModelPojo> filesList, @SortMode int sortMode);

        Context getViewContext();

        void presentShareDialog(@NonNull String path);