export interface IBatteryStatus {
    /**
     * 电池电量 0-1
     */
    level: number;
    /**
     * 是否充电中
     */
    charging: boolean;
    /**
     * 充电时间
     */
    chargingTime?: number;
    /**
     * 续航时间
     */
    dischargingTime?: number;
}
export type BatteryCallbackFunc = (battery: IBatteryStatus) => void;
/**
 * 提供通用浏览器全局方法封装
 * 浏览器插件
 */
declare class NavigatorPlugin {
    private static batteryStatusCallback;
    private static _battery;
    /**
     * 电池电量发生变化
     * @param status
     */
    private static batteryStatusChange;
    /**
     * 监听电池电量发生变化
     * @param pbatteryStatusCallback
     */
    static OnBatteryStatusHandler(pbatteryStatusCallback: BatteryCallbackFunc): Promise<void>;
    /**
     * 移除电池电量变化
     */
    static OffBatteryStatusHandler(): void;
    private static onlineChangeCallback;
    private static networkStatusChangeHandler;
    private static networkStatusChange;
    /**
     * 联网状态
     * @returns
     */
    static isOnline(): boolean;
    /**
     * 监听网络变化
     */
    static OnNetworkHandle(onlineChange: (status: boolean) => void): void;
    /**
     * 移除监听
     * @param onlineChange
     */
    static OffNetworkHandle(): void;
    /**
     * 下载网速（估算）
     * @param speadCallback
     * @returns  单位Mbps
     */
    static downloadSpead(speadCallback?: Function): number;
    /**
     * 振动设备
     * @param duration 多少ms，默认300
     */
    static vibrate(duration?: number | number[]): Promise<void>;
    private static defaultSpeakOption;
    /**
    * 改变默认设置
    * @param volume 音量，默认0.2 (0-1.0)
    * @param rate 音速，默认1 (0.1~2)
    * @param pitch 音调，默认1 (0~2)
    * @param voice 类型，默认0
    */
    static changeSpeakOptions(volume?: number, rate?: number, pitch?: number, voice?: number): void;
    /**
    * 获取所支持的声音列表
    * @returns
    */
    static getSupportedVoices(): string[];
    /**
     * 获取所支持的语言列表
     * @returns
     */
    static getSupportedLanguages(): readonly string[];
    /**
     * 说中文
     * @param text_zhCN 中文文字
     * @param lang 语言类型，默认为zh-CN
     */
    static speak(text_zhCN: string, lang?: string): Promise<void>;
    /**
      * 其他文字转声音
      * @param text 文字
      * @param lang 语音类型
      */
    static speakEnglish(text: string): Promise<void>;
    /**
     * 停止说话
     */
    static stopSpeak(): void;
    /**
     * 请求和打开通知提示窗体
     * @param title  标题
     * @param body  内容
     * @param pOptions 更多选项
     * @param closeCallback 关闭回调
     * @param clickCallback 点击回调
    */
    static openNotification(title: string, body?: string, pOptions?: NotificationOptions, closeCallback?: Function, clickCallback?: Function): void;
    /**
     * 页面是否可见
     * @returns
     */
    static isPageVisible(): boolean;
    /**
     * 当页面可见性变化(例如：页面不可见，关闭音乐)
     * @param callbackFunc 回调函数
     */
    static onPageVisibleChange(callbackFunc: (visible: boolean) => any): void;
    /**
     * 复制
     * 到剪切板上
     * @param value
     */
    static copyText(value: string): Promise<void>;
    /**
     * 读剪切板里内容
     * @returns
     */
    static readText(): Promise<string>;
    /**
     *
     * 页面内容切换变化 （例如：图片切换）
     * @param updateHtmlContent
     * @returns
     */
    static viewTransition(updateHtmlContent: Function): void;
}
export default NavigatorPlugin;
