// Type definitions for index.js
// Project: [LIBRARY_URL_HERE] 
// Definitions by: [YOUR_NAME_HERE] <[YOUR_URL_HERE]> 
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare namespace KerealOSG.prototype{
	// KerealOSG.prototype._excuteCmd.!1
	
	/**
	 * 
	 */
	interface _excuteCmd1 {
				
		/**
		 * 
		 */
		type : string;
	}
}
declare namespace KerealOSG.prototype{
	// KerealOSG.prototype._sub.!1
	type _sub1 = ((data : any) => void);
}

/**
 * @Author: vanmit
 * @LastEditors: vanmit
 * @Date: 2021-08-15 13:31:38
 * @LastEditTime: 2022-01-10 14:22:39
 * @Descripttion: for osg engine ,but should be load via osg program.
 */
declare interface KerealOSG {
		
	/**
	 * 
	 */
	new ();
		
	/**
	 * 初始化引擎
	 * @param data 
	 */
	init(data : any): void;
		
	/**
	 * 
	 */
	destroy(): void;
		
	/**
	 * 执行API
	 * @param name 
	 * @param jsonData 
	 */
	_excuteCmd(name : string, jsonData : /* KerealOSG.prototype._excuteCmd1 */ any): void;
		
	/**
	 * 
	 * @param data 
	 */
	reset(data : any): void;
		
	/**
	 * 
	 */
	engineClear(): void;
		
	/**
	 * 
	 * @param topic 
	 */
	sub(topic : any): void;
		
	/**
	 * 
	 * @param topic 
	 */
	unSub(topic : any): void;
		
	/**
	 * 
	 * @param topic 
	 * @param handler 
	 * @param once 
	 */
	_sub(topic : string, handler : /* KerealOSG.prototype._sub1 */ any, once : boolean): void;
		
	/**
	 * 
	 * @param type 
	 * @param handler 
	 * @param once 
	 */
	_subMsg(type : string, handler : ((res : any) => void) | {}, once : boolean): void;
		
	/**
	 * 
	 * @param topic 
	 */
	_unSub(topic : any): void;
		
	/**
	 * 
	 * @param data 
	 */
	manipulatorControl(data : any): void;
		
	/**
	 * 
	 * @param data 
	 */
	manipulatorSwitch(data : any): void;
		
	/**
	 * 光源设置
	 * @param {object} data
	 *  全局支持8个光源
	 *  系统内置0号光源，可以自定义替换，删除自定义后，恢复系统默认0号光源
	 *  guid:非必要，不选则配置全局光
	 *  on：开关：0-关，1-开
	 *  index：光源序号：0-7 ,index为-1时，关闭所有光照
	 *  direction：光源方向 vec3
	 * @param data 
	 */
	lightSourceSet(data : any): void;
		
	/**
	 * 鼠标事件
	 * @param {function} function(data){}
	 * @param data 
	 */
	mouseEvent(data : any): void;
		
	/**
	 * 
	 * @param data 
	 */
	locationGet(data : any): void;
		
	/**
	 *  * 根据经纬度获取高程
	 *  * @param {Object} obj
	 * * 参数格式如下：
	 *  *data: {
	 *  *  "crs":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *  *	"x":114.3344334, //位置x [必填]
	 *  *	"y":23.4545433, //位置y  [必填]
	 *  * },
	 *  * success: function(res)
	 * @param obj 
	 */
	locationGetElevation(obj : any): void;
		
	/**
	 *  设置位置
	 *  @param {Object} data
	 *  参数格式如下（data）：
	 *  {
	 *   "csys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 * 	"x":114.3344334, //位置x [必填]
	 * 	"y":23.4545433, //位置y  [必填]
	 * 	"z":54.54,      //位置z  [必填]
	 * 	"dis":150,      //距离
	 * 	"heading":0,    //偏转角
	 * 	"pitch":-45			//俯仰角
	 *  }
	 * @param data 
	 */
	locationSet(data : any): void;
		
	/**
	 * 获取视点
	 * @param {function} function(data){}
	 * @param data 
	 */
	viewpointGet(data : any): void;
		
	/**
	 * 设置视点
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "viewpoint":"-2.11240630202284763_-47.9768531393446409_304.028112125703842_22.5962351807583985_114.542265777527518_-9.49982409086078405",//视点字符串
	 * }
	 * @param data 
	 */
	viewpointSet(data : any): void;
		
	/**
	 * 图层控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid":"VideoLayer",  //图层名称 [必填]
	 * "show":1 //图层控制 0-隐藏 1-显示 [必填]
	 * }
	 * @param data 
	 */
	layerControl(data : any): void;
		
	/**
	 * 图层添加
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid":"VideoLayer",  //图层名称 [必填]
	 * }
	 * @param data 
	 */
	layerAdd(data : any): void;
		
	/**
	 * 图层删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid":"VideoLayer",  //图层名称 [必填]
	 * }
	 * @param data 
	 */
	layerRemove(data : any): void;
		
	/**
	 * 图层清空
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid/guids":"VideoLayer",  //图层名称 [必填]
	 * }
	 * @param data 
	 */
	layerClear(data : any): void;
		
	/**
	 * 图层加载
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid":"VideoLayer",  //图层名称 [必填]
	 * "url":"http://192.168.1.20/api/layer/234334-2132-2323-212123",  //图层数据路径 [必填]
	 * }
	 * @param data 
	 */
	layerLoad(data : any): void;
		
	/**
	 * 地形控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "name":"VideoLayer",     //图层名称 [必填]
	 * "show":"1",  //显示控制 0-隐藏 1-显示[必填]
	 * }
	 * @param data 
	 */
	terrainControl(data : any): void;
		
	/**
	 * 地形添加
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "name":"VideoLayer",     //地形名称 [必填]
	 * "mode":"1",              //地形类别 [必填]
	 * "data":"string",         //地形数据 [必填]
	 * }
	 * @param data 
	 */
	terrainAdd(data : any): void;
		
	/**
	 * 地形删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "name":"VideoLayer",     //地形名称 [必填]
	 * }
	 * @param data 
	 */
	terrainRemove(data : any): void;
		
	/**
	 * 地形加载
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "name":"VideoLayer",     //地形名称 [必填]
	 * "url":"http://192.168.1.20/api/Terrain/234334-2132-2323-212123" //地形数据路劲 [必填]
	 * }
	 * @param data 
	 */
	terrainLoad(data : any): void;
		
	/**
	 * 标注控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guidList":["guid1","guid2","guid3"], //标注GUID [必填]
	 * 		"show": 1, //  展示  1-显示,0-隐藏
	 *      "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *  }
	 * @param data 
	 */
	labelControl(data : any): void;
		
	/**
	 * 标注定位
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	"guid":"guid",//标注唯一识别符 [必填]
	 * 	"dis":200, // 距离眼睛多少米 默认100
	 *  "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *  "heading": 0, // 左右摆头角度  默认0,左负,右正
	 *  "pitch":-45 //上下俯仰角度 抬头为正,低头为负,默认低头45度即-45
	 *  }
	 * @param data 
	 */
	labelLocate(data : any): void;
		
	/**
	 * 	 * 标注添加
	 * 	 * @param {object} object 传入参数
	 * 	 * 参数格式如下（data）：
	 * 	 *  {
	 *      *	guid：唯一编号,string，必要
	 *      *	layer:所属图层，string，非必要
	 *      *	parent：所属标注节点，string，非必要
	 *      *	label:需要显示的文字，\n换行,string，非必要
	 *      *	crs:坐标类型：0-空间，1-经纬度（默认），非必要
	 *      *	x,y,z:坐标位置，非必要，不带位置时，拖动添加
	 *      *	keep:连续添加（mode为0时有效）
	 *      *	options:选项：
	 *      *	mode,标签模式，0-始终面向屏幕(默认)，1-三维空间面
	 *      *	min-range，眼睛距离物体显示范围，最小值，float
	 *      *	max-range，眼睛距离物体显示范围，最大值，float
	 *      *	width:宽度，米，模式为0时必选
	 *      *	height:高度，米，模式为0时必选
	 *      *	pivot:中点位置
	 *      *	color:文字颜色
	 *      *	background:背景色，默认为白色
	 *      *	texture:背景纹理，可以是图片，网页，视频路径
	 *      *	font:文字字体
	 *      *	font-size:文字大小，米
	 *      *	fade:文字显示渐变
	 *      *	align-mode:文字对其方式：0左上（默认） 1左中 2左下 3中上 4中中 5中下 6右上 7右中 8右下
	 *      *	show-always:始终显示，0-否（默认）1-是
	 *      *	border-width:边框宽度，默认0，无边框
	 *      *	border-color:边框颜色
	 *      *	border-radius:边框圆角半径，小于宽高一半
	 *      *	shadow-type:阴影类型
	 *      *		0-默认，右下，1-右中，2-右上，3-下中，4-上中，5-左下，6-左中，7-左上，8-轮廓
	 *      *	shadow-width:阴影大小，float
	 *      *	shadown-color:阴影颜色
	 * 	 *  }
	 * @param object 
	 */
	labelAdd(object : any): void;
		
	/**
	 * 标注更新
	 * @param {object} object 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		同Add，多了move参数，未1时表示移动
	 *  }
	 * @param object 
	 */
	labelUpdate(object : any): void;
		
	/**
	 * 文字标签加载，内容是添加数据的列表
	 * @param data 
	 */
	labelLoad(data : any): void;
		
	/**
	 * 标注删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	"guid":	"guid",//标注唯一识别符 [必填]
	 *  "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *  }
	 * @param data 
	 */
	labelRemove(data : any): void;
		
	/**
	 * 获取周边标注信息
	 * @param {object} object 传入参数
	 * 参数格式如下（object）：
	 *  {
	 * 		"layer/layers":图层名称/图层列表
	 * 		"x":"10", //位置x [必填]
	 * 		"y":"20", //位置y [必填]
	 * 		"z":"30", //位置z [必填]
	 *      "crs":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 * 		"count": "2", // 计算 如果不填或为0,则执行按照距离打开,否则按照数量打开
	 * 		"distance": "20" // 距离给定位置[必填]
	 *  }
	 * @param object 
	 */
	lableSearch(object : any): void;
		
	/**
	 * 图元控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "layer":'PrimitiveTempLayer', //图层名称
	 * "guid":'guid',    //图形的唯一标识 [必填]
	 * "show":1  //显示控制 0-隐藏 1-显示 [必填]
	 * }
	 * @param data 
	 */
	primitiveControl(data : any): void;
		
	/**
	 * 图元删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "layer":'PrimitiveTempLayer', //图层名称
	 * "guid":'guid',    //图形的唯一标识 [必填]
	 * }
	 * @param data 
	 */
	primitiveRemove(data : any): void;
		
	/**
	 * 图元选择
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "layer":'PrimitiveTempLayer', //图层名称
	 * "guid":'guid',    //图形的唯一标识 [必填]
	 * }
	 * @param data 
	 */
	primitiveSelect(data : any): void;
		
	/**
	 * 图元清理
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "layer":'PrimitiveTempLayer', //图层名称
	 * }
	 * @param data 
	 */
	primitiveClear(data : any): void;
		
	/**
	 * 图元添加
	 * @param object 
	 */
	primitiveAdd(object : any): void;
		
	/**
	 * 图元更新
	 * @param object 
	 */
	primitiveUpdate(object : any): void;
		
	/**
	 * 图元加载
	 * @param data 
	 */
	primitiveLoad(data : any): void;
		
	/**
	 * 图元绘制取消
	 * @param data 
	 */
	primitiveAddCancel(data : any): void;
		
	/**
	 * 图元绘制完成
	 * @param data 
	 */
	primitiveAddFinish(data : any): void;
		
	/**
	 * 标签模块初始化
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "urlMap":[ // 标签模板ID与路径映射 [必填]
	 *  {
	 * 		"id":0,
	 * 		"url":"http://127.0.0.1:16003/mark/0.xml"
	 *  }
	 * ]
	 * }
	 * @param data 
	 */
	markInit(data : any): void;
		
	/**
	 * 标签显隐控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * 		"guidList":["guid1","guid2","guid3"], // 标签GUID[必填]
	 * 		"show": 1, //图层显隐  1-显示,0-隐藏 [必填]
	 * 		"layer":"layerName", //图层名称 默认为空，既所有图层查找
	 * }
	 * @param data 
	 */
	markControl(data : any): void;
		
	/**
	 * 标签定位
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * 		"guid":"guid", // 标签唯一识别符 [必填]
	 * 		"layer":"layerName", //图层名称 默认为空，既所有图层查找
	 * 		"dis":200, //距离眼睛多少米 默认为100
	 * 		"heading":0, //左右摆头角度 默认0,左负,右正
	 * 		"pitch":-45, //上下俯仰角度 抬头为正,低头为负,默认低头45度即-45
	 * }
	 * @param data 
	 */
	markLocate(data : any): void;
		
	/**
	 * 获取周边mark信息
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"layer/layers":图层名称/图层列表
	 * 		"x":"10", //位置x [必填]
	 * 		"y":"20", //位置y [必填]
	 * 		"z":"30", //位置z [必填]
	 *      "crs":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 * 		"count": "2", // 计算 如果不填或为0,则执行按照距离打开,否则按照数量打开
	 * 		"dis": "20" // 距离给定位置[必填]
	 *  }
	 * @param object 
	 */
	markSearch(object : any): void;
		
	/**
	 *  标签添加
	 *  @param {object} object 传入参数
	 *  参数格式如下（data）：
	 *  {
	 *  		"guid":"guid", // 标签唯一识别符 [必填]
	 *  		"layer":"layerName", //图层名称 默认为空，既所有图层查找 [必填]
	 *     "x":30, [必填]
	 * 		"y":3, [必填]
	 * 		"z":30, [必填]
	 * 		"markUrl/markId/imageUrl":string/int/string, //模板路径/模板ID/图片路径，选其一 [必填]
	 *     "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *     "text":"文字",//常态显示的文本 默认为空
	 *     "tips":"string",//鼠标移上去显示文本 默认为空
	 *     "mode":1,//朝向 0-始终朝屏幕（默认）1-始终朝天空
	 *     "color":"#FFFFFFFF",//文字颜色
	 *     "background-color":"#FFFFFFFF",//背景颜色
	 *     "font-family":"SimHei",//文字字体 默认”SimHei”
	 *     "padding":1,//边距 边距距离默认10px
	 *     "minRange":1,//眼睛距离物体显示范围，最小值 默认1米
	 *     "maxRange":1,//眼睛距离物体显示范围，最大值 默认500米
	 *  }
	 * @param object 
	 */
	markAdd(object : any): void;
		
	/**
	 * 图元加载，内容是添加数据的列表
	 * @param data 
	 */
	markLoad(data : any): void;
		
	/**
	 *  标签更新
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *  {
	 *  		"guid":"guid", // 标签唯一识别符 [必填]
	 *  		"layer":"layerName", //图层名称 默认为空，既所有图层查找 [必填]
	 *     "x":30, [必填]
	 * 		"y":3, [必填]
	 * 		"z":30, [必填]
	 * 		"markUrl/markId/imageUrl":string/int/string, //模板路径/模板ID/图片路径，选其一 [必填]
	 *     "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *     "text":"文字",//常态显示的文本 默认为空
	 *     "tips":"string",//鼠标移上去显示文本 默认为空
	 *     "mode":1,//朝向 0-始终朝屏幕（默认）1-始终朝天空
	 *     "color":"#FFFFFFFF",//文字颜色
	 *     "background-color":"#FFFFFFFF",//背景颜色
	 *     "font-family":"SimHei",//文字字体 默认”SimHei”
	 *     "padding":1,//边距 边距距离默认10px
	 *     "minRange":1,//眼睛距离物体显示范围，最小值 默认1米
	 *     "maxRange":1,//眼睛距离物体显示范围，最大值 默认500米
	 *  }
	 * @param object 
	 */
	markUpdate(object : any): void;
		
	/**
	 * 标签删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "guid": "标签guid" // 标签guid [必填]
	 * "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 * }
	 * @param data 
	 */
	markRemove(data : any): void;
		
	/**
	 * 模型模块初始化
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "urlMap":[ // 标签模板ID与路径映射 [必填]
	 *  {
	 * 		"id":0,
	 * 		"url":"http://127.0.0.1:16003/mark/0.xml"
	 *  }
	 * ]
	 * }
	 * @param data 
	 */
	modelInit(data : any): void;
		
	/**
	 * 模型控制
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guidList":["guid1","guid2","guid3"], //模型GUID [必填]
	 * 		"show": 1, //  展示  1-显示,0-隐藏 [必填]
	 *    "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *  }
	 * @param data 
	 */
	modelControl(data : any): void;
		
	/**
	 * 模型定位
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  "guid":	"guid",//模型唯一识别符 [必填]
	 * 	  "dis":	200, // 距离眼睛多少米 默认100
	 *    "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *    "heading":  0, // 左右摆头角度  默认0,左负,右正
	 *    "pitch":	-45 //上下俯仰角度 抬头为正,低头为负,默认低头45度即-45
	 *  }
	 * @param data 
	 */
	modelLocate(data : any): void;
		
	/**
	 * 模型点击的获取信息
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  @param {function} function(data){}
	 *  }
	 * @param data 
	 */
	modelGetInfo(data : any): void;
		
	/**
	 *  模型添加
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  		"guid":	"guid",//模型唯一识别符 [必填]
	 *       "layer":"layerName", //图层名称 默认为空，既所有图层查找  [必填]
	 * 		"modelUrl/modelId":'string', //模型模板路径或ID，选其一 [必填]
	 * 		"posture":'string', //模型姿态字符串：位置与偏转角，俯仰角，侧倾角 [必填]
	 *       "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *       "minRange":1,//眼睛距离物体显示范围，最小值 默认1米
	 *       "maxRange":1,//眼睛距离物体显示范围，最大值 默认500米
	 * 		"markAble":0, //标签跟随 0-无标签（默认），1-带有标签
	 * 		"markText":'string', //标签文本
	 * 		"markUrl":'string', //标签模板路径
	 * 		"markOffset_x":20, //图标偏移x米
	 * 		"markOffset_y":20, //图标偏移y米
	 * 		"markOffset_z":20, //图标偏移z米
	 *   }
	 * @param object 
	 */
	modelAdd(object : any): void;
		
	/**
	 *  模型更新
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  		"guid":	"guid",//模型唯一识别符 [必填]
	 *     "layer":"layerName", //图层名称 默认为空，既所有图层查找  [必填]
	 * 		"modelUrl/modelId":'string', //模型模板路径或ID，选其一 [必填]
	 * 		"posture":'string', //模型姿态字符串：位置与偏转角，俯仰角，侧倾角 [必填]
	 *     "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *     "minRange":1,//眼睛距离物体显示范围，最小值 默认1米
	 *     "maxRange":1,//眼睛距离物体显示范围，最大值 默认500米
	 * 		"markAble":0, //标签跟随 0-无标签（默认），1-带有标签
	 * 		"markText":'string', //标签文本
	 * 		"markUrl":'string', //标签模板路径
	 * 		"markOffset_x":20, //图标偏移x米
	 * 		"markOffset_y":20, //图标偏移y米
	 * 		"markOffset_z":20, //图标偏移z米
	 *   }
	 * @param object 
	 */
	modelUpdate(object : any): void;
		
	/**
	 * 模型删除
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guid":	"guid",//模型唯一识别符 [必填]
	 *    "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *  }
	 * @param data 
	 */
	modelRemove(data : any): void;
		
	/**
	 * 模型设置着色器
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  "guid":	"guid",//模型唯一识别符 [必填]
	 *    "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *    "name": 着色器名称
	 *    "on": 启用/停用
	 *    "vert":vert着色器路径
	 *    "geom":geom着色器路径
	 *    "frag": frag着色器路径
	 *    "uniforms":着色器参数
	 *    "index":顺序
	 *    "box": 是否添加盒子
	 *    "switch":切换当前着色器
	 *  }
	 * @param data 
	 */
	modelSetShader(data : any): void;
		
	/**
	 * 模型平铺
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guid":	"guid",//模型唯一识别符 [必填]
	 *      "layer":"layerName", //图层名称 默认为空，既所有图层查找
	 *      "height":5.0, //double 铺展后上升基准高度 默认为0
	 *      "time":1.0, //double 每个子模型铺展时间 默认为1秒
	 *      "x":0, //double x方向偏移 默认为0
	 *      "y":0, //double y方向偏移 默认为0
	 *      "z":0, //double z方向偏移 默认为0
	 *      "open":1, //int 展开 还是关闭 1-展开，0-关闭
	 *  }
	 * @param data 
	 */
	modelFlatten(data : any): void;
		
	/**
	 * 运行本地程序
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"appPath":"d:\\notepad.exe" //程序路径  [必填]
	 *    "appParam":"-f pa"  //-f pa  参数,空格隔开
	 * 		"workDir":"D:"	 //程序工作路径
	 *  }
	 * @param data 
	 */
	appRun(data : any): void;
		
	/**
	 * 结束本地进程
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"appName":"notepad.exe" //程序名称 [必填]
	 *  }
	 * @param data 
	 */
	appStop(data : any): void;
		
	/**
	 * 视频模块初始化
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 * {
	 * "urlMap":[ // 标签模板ID与路径映射
	 *  {
	 * 		"id":0,
	 * 		"url":"http://127.0.0.1:16003/mark/0.xml"
	 *  }
	 * ],
	 * "urlMap":{// 视频窗口风格
	 *  "layoutUrl":"http://127.0.0.1:16003/template/VideoLayout.xml",
	 *  "windowUrl":"http://127.0.0.1:16003/template/VideoWindowStyle.xml",
	 *  "viewUrl":"http://127.0.0.1:16003/template/VideoViewStyle.xml",
	 *  "controlUrl":"http://127.0.0.1:16003/template/VideoControlStyle.xml"
	 * }
	 * }
	 * @param data 
	 */
	videoInit(data : any): void;
		
	/**
	 * 打开关闭视频点
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guidList":["guid1","guid2","guid3"], // 标签GUID[必填]
	 * 		"show":"0" //展示 1-显示,0-隐藏 [必填]
	 *  }
	 * @param data 
	 */
	videoControl(data : any): void;
		
	/**
	 * 定位视频点
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guid":	"视频guid",// 视频guid [必填]
	 * 		"dis":	"200", // 距离眼睛多少米 默认100
	 * 		"heading": "-10", //左右摆头角度 默认0,左负,右正
	 * 		"pitch":	"45" // 上下俯仰角度 抬头为正,低头为负,默认低头45度即-45
	 *  }
	 * @param data 
	 */
	videoLocate(data : any): void;
		
	/**
	 * 打开周边视频
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"x":"10", //位置x [必填]
	 * 		"y":"20", //位置y [必填]
	 * 		"z":"30", //位置z [必填]
	 *      "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 * 		"count": "2", // 计算 如果不填或为0,则执行按照距离打开,否则按照数量打开
	 * 		"distance": "20" // 距离给定位置[必填]
	 *  }
	 * @param data 
	 */
	videoOpenRange(data : any): void;
		
	/**
	 * 加载视频点数据
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"url": "C:\Users\Administrator\Desktop", //访问得到所有视频数据的WebAPI路径 [必填]
	 * 		"token": "授权认证信息", // 授权认证信息
	 *  }
	 * @param data 
	 */
	videoLoad(data : any): void;
		
	/**
	 *  * 添加视频点
	 *  * @param {object} data 传入参数
	 *  * 参数格式如下（data）：
	 *  *  {
	 *  * 		"x":"10", //位置x [必填]
	 *  * 		"y":"20", //位置y [必填]
	 *  * 		"z":"30", //位置z [必填]
	 *  *    "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *  * 		"name": "string", // 显示的文本 默认为空
	 *  * 		"line": 1 // 是否在打开视频时窗口与视频标签连线 0-不连，1-连线(默认)
	 *  * 		"markUrl": "模板路径——string——必填" // 视频图标模板路径 [必填]
	 *  * 		"mode": 0 // 模式 0,单个视频(默认),1枪球联动,2视频组,4视频融合
	 *  * 		"video":[
	 * 				{
	 * 					"IP":"192.168.19.11",
	 * 					"Port":9099,
	 * 					"Type":1, （0,RTSP,1海康,2大华）
	 * 					"Usr":"用户名",
	 * 					"Pwd":"密码",
	 * 					"Ptz":1,（0,不控制,1控制）
	 * 					"Channel":1,通道
	 * 				}
	 * 			]
	 *  *  }
	 * @param object 
	 */
	videoAdd(object : any): void;
		
	/**
	 *  * 更新视频点
	 *  * @param {object} data 传入参数
	 *  * 参数格式如下（data）：
	 *  *  {
	 *  * 		"x":"10", //位置x [必填]
	 *  * 		"y":"20", //位置y [必填]
	 *  * 		"z":"30", //位置z [必填]
	 *  *    "cys":1,//坐标系 0-空间直角坐标系 1-经纬度(默认)
	 *  * 		"name": "string", // 显示的文本 默认为空
	 *  * 		"line": 1 // 是否在打开视频时窗口与视频标签连线 0-不连，1-连线(默认)
	 *  * 		"markUrl": "模板路径——string——必填" // 视频图标模板路径 [必填]
	 *  * 		"mode": 0 // 模式 0,单个视频(默认),1枪球联动,2视频组,4视频融合
	 *  * 		"video":[
	 * 				{
	 * 					"IP":"192.168.19.11",
	 * 					"Port":9099,
	 * 					"Type":1, （0,RTSP,1海康,2大华）
	 * 					"Usr":"用户名",
	 * 					"Pwd":"密码",
	 * 					"Ptz":1,（0,不控制,1控制）
	 * 					"Channel":1,通道
	 * 				},
	 * 			]
	 *  *  }
	 * @param object 
	 */
	videoUpdate(object : any): void;
		
	/**
	 * 删除视频点
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"guid":"需要移除的GUID"[必填]
	 *  }
	 * @param data 
	 */
	videoRemove(data : any): void;
		
	/**
	 * 
	 * @param data 
	 */
	videoCloseAll(data : any): void;
		
	/**
	 * 设置巡逻路径
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"path":"C:\Users\Administrator\Desktop",// 巡逻路径URl[必填]
	 * 		"playTime":"5", // 视频播放时间（比如5秒) [必填]
	 * 		"videoNodes":[{'time':4,'vids':["335c5042-1871-4f56-a1e5-27817a830089"]}]
	 *  }
	 * @param data 
	 */
	patrolSetPath(data : any): void;
		
	/**
	 * 执行巡逻一次
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"path":"C:\Users\Administrator\Desktop", //巡逻路径URl	[必填]
	 * 		"speed":"2" // 巡逻倍速 巡逻倍速0-10.0,默认1.0
	 *  }
	 * @param data 
	 */
	patrolOnce(data : any): void;
		
	/**
	 * 开始巡逻
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"path":"C:\Users\Administrator\Desktop", //巡逻路径URl	[必填]
	 * 		"speed":"2" // 巡逻倍速 巡逻倍速0-10.0,默认1.0
	 * 		"lenMode":"3" //镜头模式 1(室外飞行,默认),2(室外步行),3(室内飞行),4(室内步行)
	 *  }
	 * @param data 
	 */
	patrolStart(data : any): void;
		
	/**
	 * 停止巡逻
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 		"path":"C:\Users\Administrator\Desktop", //巡逻路径URl	[必填]
	 * 		"speed":"2" // 巡逻倍速 巡逻倍速0-10.0,默认1.0
	 * 		"lenMode":"3" //镜头模式 1(室外飞行,默认),2(室外步行),3(室内飞行),4(室内步行)
	 * 		"travelMode":"2" //播放模式 0(从头到尾,然后从尾到头,默认), 1(循环播放), 2(只播放一次),3(随机播放)
	 *  }
	 * @param data 
	 */
	patrolStop(data : any): void;
		
	/**
	 * 暂停巡逻
	 */
	patrolPause(): void;
		
	/**
	 * 恢复巡逻
	 */
	patrolUnpause(): void;
		
	/**
	 *  * 报警模块初始化
	 *  * @param {object} data 传入参数
	 *  * 参数格式如下（data）：
	 *  *  {
	 *  * 		"alarmFlashEnable":1, //启用报警标签闪烁 0-不启用 1-启用（默认）
	 *  * 		"alarmFlashTime":2, //报警标签闪烁时间3间隔 默认3秒
	 *  * 		"alarmEyeDis":50, //报警距离眼睛距离  默认50米
	 *  * 		"alarmEyeHeading":0, //报警偏转角度 默认0，
	 *  * 		"alarmEyePitch":-45, //报警俯仰角度 正仰视，负俯视，默认俯视45度
	 *  * 		"alarmCircleRadius":50, //报警圈大小 默认50米
	 *  * 		"alarmLevelColor":[ //报警颜色 不同报警等级不同，内置五种可配置级别0-5，
	 * 				{
	 * 							"level":0,
	 * 							"color":#FFFFFFFF
	 * 				},
	 * 			]
	 *  *  }
	 * @param data 
	 */
	alarmInit(data : any): void;
		
	/**
	 * 启动某类别报警
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  "type":  "1", // 类型  1-视频报警 2-设备报警 3-模型报警 4-定位报警 [必填]
	 * 		"enable":  "1" // 可用性 1-启用,0-禁用 [必填]
	 *  }
	 * @param data 
	 */
	alarmEnable(data : any): void;
		
	/**
	 * 发送报警
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  "srcGuid":"报警源GUID" [必填]
	 * 		"type":"1", 报警类型  1-视频报警 2-设备报警 3-模型报警 4-定位报警 [必填]
	 * 		"data":{} //报警数据根据不同类型不同
	 *  }
	 * @param data 
	 */
	alarmSend(data : any): void;
		
	/**
	 * 取消报警
	 * @param {object} data 传入参数
	 * 参数格式如下（data）：
	 *  {
	 * 	  "deviceGuid":"需要取消的报警设备GUID" [必填]
	 *  }
	 * @param data 
	 */
	alarmCancel(data : any): void;
		
	/**
	 * 执行其它指令
	 * @param data 
	 */
	runCmd(data : any): void;
		
	/**
	 * 清除报警
	 */
	alarm_Clear(): void;
		
	/**
	 *  鼠标双击事件
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  		"key":0/1/2,
	 *  	    "x":20,
	 * 		"y":40
	 *   }
	 * @param data 
	 */
	_mouseDoubleClick(data : any): void;
		
	/**
	 *  鼠标移动时的回调
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  	    "x":20,
	 * 		"y":40
	 *   }
	 * @param data 
	 */
	_mouseMove(data : any): void;
		
	/**
	 *  鼠标按下时的回调
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  		"key":0/1/2,
	 *  	    "x":20,
	 * 		"y":40
	 *   }
	 * @param data 
	 */
	_mouseDown(data : any): void;
		
	/**
	 *  鼠标松开时的回调
	 *  @param {object} data 传入参数
	 *  参数格式如下（data）：
	 *   {
	 *  		"key":0/1/2,
	 *  	    "x":20,
	 * 		"y":40
	 *   }
	 * @param data 
	 */
	_mouseUp(data : any): void;
		
	/**
	 *  鼠标松开时的回调
	 *  @param {object} location 传入参数
	 *  参数格式如下（location）：
	 *   {
	 *  		"key":0/1/2,
	 *  	  "x":20,
	 * 		"y":40
	 *   }
	 * @param data 
	 */
	_mouseScroll(data : any): void;
		
	/**
	 * 键盘的松开事件
	 * @param {object} code 传入参数 code 键盘的ASCII值
	 * 参数格式如下（location）：
	 *  {
	 * 		"key"ASCII值:,
	 *  }
	 * @param code 
	 */
	_keyUp(code : any): void;
		
	/**
	 * 键盘的按下事件
	 * @param {object} code 传入参数 code 键盘的ASCII值
	 * 参数格式如下（location）：
	 *  {
	 * 		"key"ASCII值:,
	 *  }
	 * @param code 
	 */
	_keyDown(code : any): void;
		
	/**
	 *  元素宽高尺寸改变发生的事件
	 *  @param {object} size 传入宽高尺寸
	 *  参数格式如下（location）：
	 *   {
	 *  	  "x":20,
	 * 		"y":40
	 *   }
	 * @param size 
	 */
	_resize(size : any): void;
		
	/**
	 * 
	 * @return  
	 */
	_s4(): string;
		
	/**
	 * 
	 * @return  
	 */
	_newGuid(): string;
}

/**
 * 
 * @param options 
 */
declare function createKereal(options : any): void;
