import Shell17, { PayOrderParams, PlayerVideoParams } from "./Shell17";
/**
 * @author Raykid
 * @email initial_r@qq.com
 * @create date 2017-10-25
 * @modify date 2017-10-25
 *
 *
*/
export default class Shell17Mobile extends Shell17 {
    constructor();
    /** 下面为了防止一起作业外壳报错而特意加的全局转发方法 */
    private initExternalNeedFuncs;
    /*************************** 下面是本地存储接口 ***************************/
    /**
     * 获取本地存储
     *
     * @param {string} key 要获取值的键
     * @returns {string} 获取的值
     * @memberof Shell17Mobile
     */
    localStorageGet(key: string): Promise<any>;
    /**
     * 设置本地存储
     *
     * @param {string} key 要设置的键
     * @param {string} value 要设置的值
     * @memberof Shell17Mobile
     */
    localStorageSet(key: string, value: string): void;
    /**
     * 移除本地存储
     *
     * @param {string} key 要移除的键
     * @memberof Shell17Mobile
     */
    localStorageRemove(key: string): void;
    /**
     * 清空本地存储
     *
     * @memberof Shell17Mobile
     */
    localStorageClear(): void;
    /*************************** 下面是音频接口 ***************************/
    protected initAudio(): void;
    /**
     * 开始下载音频
     *
     * @param {string} url 音频地址
     * @memberof Shell17Mobile
     */
    loadAudio(url: string): void;
    /**
     * 开始播放音频
     *
     * @param {string} url 音频地址
     * @memberof Shell17Mobile
     */
    playAudio(url: string): void;
    /**
     * 暂停播放音频
     *
     * @param {string} url 音频地址
     * @memberof Shell17Mobile
     */
    pauseAudio(url: string): void;
    /**
     * 音频跳转到指定位置
     *
     * @param {string} url 音频地址
     * @param {number} time 跳转位置（毫秒）
     * @memberof Shell17Mobile
     */
    seekAudio(url: string, time: number): void;
    /**
     * 停止播放音频
     *
     * @param {string} url 音频地址
     * @memberof Shell17Mobile
     */
    stopAudio(url: string): void;
    /*************************** 下面是视频接口 ***************************/
    playerVideo(params: PlayerVideoParams): void;
    /*************************** 下面是一起作业移动版专属接口 ***************************/
    /**
     * 移动端壳扩展方法
     * @param funcName
     * @param paramsList
     */
    callExternal(funcName: string, ...paramsList: any[]): Promise<any>;
    /**
     * 获取初始化信息
     * @param refresh
     */
    getInitParams(refresh?: boolean): Promise<any>;
    innerJump(name: string): void;
    homeworkHTMLLoaded(): void;
    /**
     * 更新标题栏
     * @param titile 文本内容
     * @param txtColor 文字颜色代码（6位hex string，如"ffff00"）
     * @param bgColor 背景颜色代码（hex string）
     */
    updateTitle(titile: string, txtColor?: number, bgColor?: number): void;
    redirectToLogin(from?: string): void;
    openFairylandPage(params: {
        url: string;
        name: string;
        useNewCore?: string;
        orientation?: string;
        fullScreen?: boolean;
        page_viewable?: boolean;
        initParams?: {
            [key: string]: string;
        };
    }): void;
    pageQueueNew(params: {
        url: string;
        name: string;
        useNewCore?: string;
        orientation?: string;
        initParams?: {
            [key: string]: string;
        };
    }): void;
    pageQueueBack(params: {
        name?: string;
        index?: number;
        step?: number;
        url?: string;
        initParams?: {
            [key: string]: string;
        };
    }): void;
    pageQueueRefresh(params?: {
        url?: string;
        initParams?: {
            [key: string]: string;
        };
    }): void;
    pageQueueQuit(params?: Object): void;
    disMissView(): void;
    showlog(msg: string): void;
    log_b(data: {
        [name: string]: any;
    }): void;
    payOrder(params: PayOrderParams): void;
    startRecord(params: any): void;
    stopRecord(params: any): void;
    startPlayback(params: any): void;
    stopPlayback(params: any): void;
    /**
     * 显示toast弹窗
     * @param msg 显示的信息，默认""
     */
    showToast(msg: string): void;
    /**
     * 设置音频音量大小
     * @param url 音频地址
     * @param volume 音量大小（0.0-1.0）
     */
    setAudioVolume(url: string, volume: number): void;
    /**
     * 设置webview顶部栏信息
     * @param params
     */
    setTopBarInfo(params?: {
        show: boolean;
        rightText: string;
        rightTextColor: string;
        nextAction: string;
        rightImage: string;
        needCallBack: boolean;
        needCart: boolean;
    }): void;
}
export interface PhotoData {
    id: string;
    url: string;
    thumb_url: string;
    success: boolean;
    errCode: number;
    errMsg: string;
}
export interface RecordData {
    id: string;
    url: string;
    duration: number;
    success: boolean;
    errCode: number;
    errMsg: string;
}
