/// <reference types="vite/client" />


/************************************************************
 * vue 文件验证
 * @auto zsw
 * @time 2023年1月6日
 * @emaile 2966211270@qq.com
 * @param {}
 * @return {}
 */
declare module '*.vue' {
  import { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}


/**********************************************************
 * nvue 文件验证
 * @auto zsw
 * @time 2023年1月6日
 * @emaile 2966211270@qq.com
 * @param {}
 * @return {}
 */
declare module '*.nvue' {
  import { DefineComponent } from 'vue'
  const component: DefineComponent<{}, {}, any>
  export default component
}


/**********************************************************
 * ASE加密/解密文件验证
 */
declare module 'crypto-js' {
  const content: any
  export = content
}


/************************************************************
 * 自定义挂载 uniapp 全局属性，自定义更改原生 modal 弹窗
* @auto zsw
 * @time 2023年1月6日
 * @emaile 2966211270@qq.com
 * @param {jxConfirm} 双按钮仿 ios module
 * @param {jxAlert}   单按钮仿 ios module
 * @return {}
 */
declare module 'uview-plus' {
  interface alertType {
    /**
     * 提示标题（必填）
     */
    title: string
    /**
     * 提示内容（必填）
     */
    content: string
    /**
     * 确定按钮
     */
    confirmText?: string
    /**
     * 是否允许安卓按钮返回
     * 默认：0；
     * 0：不允许手势返回
     * 1：允许使手势返回
     */
    isReturn?: 0 | 1
    /**
     * 成功回调
     */
    success?: Function
  }

  interface confirmType {
    /**
     * 提示标题（必填）
     */
    title: string
    /**
     * 提示内容（必填）
     */
    content: string
    /**
     * 确定按钮
     */
    confirmText?: string
    /**
     * 取消按钮
     */
    cancelText?: string
    /**
     * 是否允许安卓按钮返回
     * 默认：0；
     * 0：不允许手势返回
     * 1：允许使手势返回
     */
    isReturn?: 0 | 1
    /**
     * 成功回调
     */
    success?: Function
    /**
     * 取消回调
     */
    fail?: Function
  }
  interface globalAlertType {
    data: AnyObject
    success?: Function
  }
  export function install(): void
  global {
    interface Uni {
      /**
     * 双按钮模态弹窗
     */
      jxConfirm: ((options: confirmType) => void)
      /**
       * 单按钮模态弹窗
       */
      jxAlert: ((options: alertType) => void)
      /**
       * 可覆盖tabBar弹窗
       */
      globalAlert: ((options: globalAlertType) => void)
    }
  }
}