(function() {

	'use strict';
    
    class NWProgramProvider extends uniflash.programs.ProgramProvider {
        constructor(ticFileDialogs : ti_common.file.IFileDialogs ) {
            super (
                'Select Image', // button text
                'Add images', // description
                'glyphicon glyphicon-hdd', // icon
                'NWProgramProvider',
                ticFileDialogs,
				'To start Flashing, upload an image from your local drive, or choose an image available on your Cloud Storage'
            )
        }
    }

	angular.module('uniflash').service('ufProgramProviders', programProviders);

	programProviders.$inject = ['ticFileDialogs'];

	function programProviders(ticFileDialogs) {
		var providers : { [s:string] : uniflash.programs.ProgramProvider; } = {};
        var provider = new NWProgramProvider(ticFileDialogs);
		providers[provider.type] = provider;
		return providers;
	}

})();