import { ELang } from './rx/el' ; import { QueryLang } from './rx/ql' ; export type TQueryLangHandler = ( ... arg : Array < any > ) => any ; export type TQueryLang = Array < TPath | TQueryLangHandler | QueryLang > ; export type TRxLangHandler = ( ... args : Array < any > ) => void ; export type TRxLang = Array < TPath | TRxLangHandler > ; export type TPath = Array < string | number > | string ; export interface IRxParams { dev ? : boolean ; data ? : Object ; getter ? : { [ name ] : QueryLang ; } ; effect ? : Array < ELang > ; } export interface IMueReducer { data : Array < Object > ; onLoad : Array < Function > ; onReady : Array < Function > ; onShow : Array < Function > ; onHide : Array < Function > ; onUnload : Array < Function > ; onPullDownRefresh : Array < Function > ; onReachBottom : Array < Function > ; onShareAppMessage : Array < Function > ; onPageScroll : Array < Function > ; onTitleClick : Array < Function > ; onResize : Array < Function > ; onTabItemTap : Array < Function > ; } export namespace mpapp { export interface IReferrerInfo { /**
         * 来源小程序、公众号或 App 的 appId
         */ appId : string ; /**
         * 来源小程序传过来的数据，scene=1037 或 1038 时支持
         */ extraData : Object ; } export interface IAppLaunchParam { /**
         * 启动小程序的 query 参数
         */ query : Object ; /**
         * 启动小程序的路径
         */ path : string ; /**
         * 微信小程序的启动的场景值
         */ scene ? : number ; /**
         *微信小程序更多的转发信息
         */ shareTicket ? : string ; /**
         * 微信小程序
         * 来源信息。从另一个小程序、公众号或 App 进入小程序时返回。否则返回 {}
         */ referrerInfo ? : Object ; } export interface ITabItemTapObject { since index : string ; since pagePath : string ; since text : string ; } export interface IAppProps { /**
         * 生命周期回调—监听小程序初始化
         * 小程序初始化完成时（全局只触发一次）
         */ onLaunch ? : ( options : IAppLaunchParam ) => void ; /**
         * 生命周期回调—监听小程序显示
         * 小程序启动，或从后台进入前台显示时
         */ onShow ? : ( options : IAppLaunchParam ) => void ; /**
         * 生命周期回调—监听小程序隐藏
         * 小程序从前台进入后台时
         */ onHide ? : ( ) => void ; /**
         * 错误监听函数
         * 小程序发生脚本错误，或者 api 调用失败时触发，会带上错误信息
         */ onError ? : ( msg : string ) => void ; /**
         * 微信小程序特有方法
         * 页面不存在监听函数
         * 小程序要打开的页面不存在时触发，会带上页面信息回调该函数
         */ onPageNotFound ? : ( ) => void ; globalData ? : any ; [ key ] : any ; } export interface IPageProps { /**
         * 微信Object
         * 钉钉eapp可以是object和Function
         */ data ? : Object | Function ; /**
         * 点击标题触发
         * 钉钉小程序特有
         */ onTitleClick ? : ( ) => void ; /**
         * 页面滚动触发事件的处理函数
         */ onPageScroll ? : ( scroll : { scrollTop : number ; } ) => void ; /**
         * 生命周期回调—监听页面加载
         */ onLoad ? : ( query : Object ) => void ; /**
         * 生命周期回调—监听页面初次渲染完成
         */ onReady ? : ( ) => void ; onShow ? : ( ) => void ; /**
         * 生命周期回调—监听页面隐藏
         */ onHide ? : ( ) => void ; /**
         * 生命周期回调—监听页面卸载
         */ onUnload ? : ( ) => void ; /**
         * 监听用户下拉动作
         */ onPullDownRefresh ? : ( ) => void ; /**
         * 页面上拉触底事件的处理函数
         */ onReachBottom ? : ( ) => void ; /**
         * 用户点击右上角转发
         */ onShareAppMessage ? : ( ) => void ; /**
         * 页面尺寸改变时触发
         * 微信小程序特有
         */ onResize ? : ( ) => void ; platform onTabItemTap ? : ( item : ITabItemTapObject ) => void ; setData ? : ( data : Object , callback ? : ( ) => void ) => void ; platform $spliceData ? : ( start : number , deleteCount : number , ... items : Array < any > ) => void ; setState ? : ( data : Object , callback ? : ( ) => void ) => void ; platform spliceState ? : ( start : number , deleteCount : number , ... items : Array < any > ) => void ; platform getCurrentPages ? : ( ) => Array < string > ; [ key ] : any ; } export interface IComponentMixin { data ? : any ; props ? : any ; didUpdate ? : ( prevProps : any , prevData : any ) => void ; didMount ? : ( ) => void ; didUnmount ? : ( ) => void ; methods ? : { [ key ] : Function ; } ; } export interface IEAppComponentProps < P = any , S = any > { mixins ? : Array < IComponentMixin > ; data ? : S ; props ? : P ; didUpdate ? : ( prevProps : P , prevData : S ) => void ; didMount ? : ( ) => void ; didUnmount ? : ( ) => void ; methods ? : { [ key ] : ( param : any ) => void ; } ; is ? : string ; $page ? : Object ; $id ? : number ; } export interface IWxAppComponentProps { properties ? : Object ; data ? : Object ; methods ? : Object ; behaviors ? : Array < string > ; created ? : Function ; attached ? : Function ; ready ? : Function ; moved ? : Function ; detached ? : Function ; relations ? : Function ; externalClasses ? : Array < string > ; options ? : Object ; lifetimes ? : Object ; pageLifetimes ? : Object ; definitionFilter ? : Function ; } } export interface IDDJSAPI { /**
     * 向指定服务器发起一个跨域 http(s) 请求。
     */ httpRequest ( param ) : void ; /**
     * 上传本地资源到开发者服务器
     */ uploadFile ( param ) : void ; /**
     * 创建一个 WebSocket 的连接；
     * 一个钉钉E应用同时只能保留一个 WebSocket 连接，
     * 如果当前已存在 WebSocket 连接，会自动关闭该连接，
     * 并重新创建一个新的 WebSocket 连接。
     */ connectSocket ( param ) : void ; /**
     * 监听WebSocket连接打开事件。
     */ onSocketOpen ( res ) : void ; /**
     * 取消监听WebSocket连接打开事件。
     */ offSocketOpen ( cb ) : void ; /**
     * 监听WebSocket错误。
     */ onSocketError ( res ) : void ; /**
     * 通过 WebSocket 连接发送数据，
     * 需要先使用 dd.connectSocket 发起建连，
     * 并在 dd.onSocketsOpen 回调之后再发送数据。
     */ sendSocketMessage ( param ) : void ; /**
     * 监听WebSocket接受到服务器的消息事件。
     */ onSocketMessage ( res ) : void ; /**
     * 取消监听WebSocket接受到服务器的消息事件。
     */ offSocketMessage ( ) : void ; closeSocket ( param ) : void ; /**
     * 监听WebSocket关闭。
     */ onSocketClose ( param ) : void ; /**
     * 取消监听WebSocket关闭。
     **/ offSocketClose ( ) : void ; chooseImage ( param ) : void ; /**
     * 预览图片。
     */ previewImage ( params ) : void ; /**
     * 保存在线、本地临时或者永久地址图片到手机相册。
     */ saveImage ( param ) : void ; /**
     * 压缩图片
     */ compressImage ( param ) : void ; getImageInfo ( param ) : void ; /**
     * 背景音频管理器
     * 获取当前E应用全局唯一的背景音频管理 backgroundAudioManager。当E应用切入后台时，音频可以背景播放。
     */ getBackgroundAudioManager ( ) : { /**
         * 音频文件地址，支持类型有mp3/wav/aac/m4a格式。当设置此值时，音频就会开始播放
         * 读/写
         */ src : string ; /**
         * 音频标题
         * 读/写
         */ title : string ; /**
         * 引用播放封面图片地址
         * 读/写
         */ coverImgUrl : string ; /**
         * 音频是否暂停
         * 读
         */ paused : boolean ; /**
         * 当前音频的总长度，单位是秒
         * 读
         */ duration : number ; /**
         * 当前音频播放的位置，单位是秒
         * 读
         */ currentTime : number ; /**
         * 播放
         */ play ( ) : void ; /**
         * 暂停
         */ pause ( ) : void ; /**
         * 停止
         */ stop ( ) : void ; /**
         * 跳转到制定位置position，以秒为单位
         */ seek ( position ) : void ; /**
         * 监听背景音频播放事件
         */ onPlay ( ) : void ; /**
         * 监听背景音频暂停事件
         */ onPause ( ) : void ; /**
         * 监听背景音频停止事件
         */ onStop ( ) : void ; /**
         * 监听背景音频结束事件
         */ onEnded ( ) : void ; /**
         * 监听背景音频播放进度更新事件
         */ onTimeUpdate ( ) : void ; /**
         * 监听背景音频错误事件, 错误类型（10001：系统错误，10002：网络错误，10003：文件错误，10004：格式错误）
         */ onError ( ) : void ; /**
         * 监听背景音频加载中事件
         */ onWaiting ( ) : void ; } ; chooseVideo ( param ) : void ; /**
     * 获取E应用免登授权码
     * 使用说明
     * ISV应用和个人应用的免登授权码均可通过该JSAPI获取。 在获取免登授权码（authCode)后，可以调用服务端接口，拿到用户信息。使用方式如下：
     *（1）第三方个人E应用参考：身份验证
     *（2）第三方企业E应用参考：身份验证
     *（3）企业内部开发E应用参考：用户免登
     */ getAuthCode ( param ) : void ; navigateTo ( param ) : void ; redirectTo ( param ) : void ; navigateBack ( ) : void ; /**
     * 关闭当前所有页面，跳转到应用内的某个指定页面。
     */ reLaunch ( param ) : void ; setNavigationBar ( param ) : void ; switchTab ( param ) : void ; alert ( param ) : void ; confirm ( param ) : void ; /**
     * 显示一个弱提示，可选择多少秒之后消失。
     */ showToast ( param ) : void ; hideToast ( ) : void ; showLoading ( param ) : void ; hideLoading ( ) : void ; showActionSheet ( parma ) : void ; datePicker ( parma ) : void ; createAnimation ( param ) : { rotate ( deg ) : void ; } ; } export interface IWxJSAPI { } declare global { function App ( props ) ; function Page ( prop ) ; function getApp ( ) ; function Component < P , S > ( prop ) ; const dd ; const wx ; }