/// <reference path="./fresco.d.ts" />
/// <reference path="./fresco-processors.d.ts" />

declare namespace com {
    export namespace nativescript {
        export namespace image {
            class DrawableUtils {
                static tryLoadExternalDrawable(context: globalAndroid.content.Context, uri: globalAndroid.net.Uri)
            }
            class DraweeView extends facebook.drawee.view.SimpleDraweeView {
                noRatioEnforce: boolean;
                imageWidth: number;
                imageHeight: number;
                setUri(uri: globalAndroid.net.Uri, options: string, listener: facebook.drawee.controller.ControllerListener, requestListener: com.facebook.imagepipeline.listener.RequestListener);
            }
            class ScalingBlurPostprocessor extends facebook.imagepipeline.request.BasePostprocessor {
                public constructor(iterations: number, blurRadius: number, scaleRatio: number);
            }
            class BaseDataSubscriberListener {
                public constructor(implementation: { onNewResult(datasource: facebook.datasource.DataSource<any>); onFailure(datasource: facebook.datasource.DataSource<any>) });
                public onNewResult(datasource: facebook.datasource.DataSource<any>);
                public onFailure(datasource: facebook.datasource.DataSource<any>);
            }
            class BaseDataSubscriber extends facebook.datasource.BaseDataSubscriber<any> {
                public constructor(listener: BaseDataSubscriberListener);
            }
            class OkHttpNetworkFetcher extends facebook.imagepipeline.backends.okhttp3.OkHttpNetworkFetcher {}
        }
    }
}
