import { IUserdata } from "./ipresetdata";
export declare enum RuntimeSDK {
    UNITY_SDK = 0,
    UE_SDK = 1,
    GAMELET_SDK = 2,
    PXIDE_SDK = 3,
    UNSUPPORT_SDK = 4
}
export interface IGameletAPI {
    canUsePlatformAPI(): boolean;
    getRuntimeEnv(): string;
    genAppScopeEventName(evt: string): string;
    getAppID(): number;
    getAppKey(): string;
    getAppName(): string;
    getAppVersion(): string;
    getAppEntranceConfig(key: string): any;
    getOpenArgs(): string;
    getIsProductEnvironment(): boolean;
    getIsHitBackendWhitelist(): boolean;
    getIsSupportCallbroker(): boolean;
    getPlatformDesc(): string;
    getEntryInfo(): string;
    getFaasAddr(): string;
    getUserData(): Promise<IUserdata>;
    refreshUserDataTokens(): Promise<void>;
    /**
     * 上报相关
     */
    reportStatsV2(iType: number, iChangjingId: string, iGoodsId: string, iCountId: number, iFee: number, iFlowId: number, extendList?: Array<Object> | undefined, appId?: number): void;
    reportMonitorV2(tag: string, content: string, itype: number): any;
    faasReportStringToTDM(content: string, tag: string): Promise<any>;
    faasReportNumberToTDM(tag: string): Promise<any>;
    reportJSExceptionStringToTDM(content: string): void;
    reportStringToTDM(content: string, tag: string): void;
    reportNumberToTDM(tag: string): void;
    reportStats(usredata: IUserdata, iModule: number, iChannelID: number, iType: number, iActId: number, iJumpType: number, sJumpURL: string, sRecommendID: string, sChangjingID: string | number, iGoodsID: number, iCountID: number, iFee: number, iActStyle: number, iFlowID: number, sExtendList?: Array<Object> | undefined): void;
    setDataStash(key: string, value: string): Promise<void>;
    getDataStash(key: string): Promise<string>;
    clearDataStash(): Promise<void>;
    writeCookie(cookieName: string, content: string, appId?: number, expiredDays?: number): Promise<void>;
    writeRoleCookie(cookieName: string, content: string, appId?: number, expiredDays?: number): Promise<void>;
    readCookie(customerName: string, appId?: number): Promise<string>;
    readRoleCookie(customerName: string, appId?: number): Promise<string>;
    deleteCookie(customerName: string, appId?: number): Promise<void>;
    addOnGameCommandListener(func: (cmd: string) => void): void;
    removeOnGameCommandListener(func: (cmd: string) => void): void;
    addOnSrvPushDataListener(func: (msg: string) => void): void;
    removeOnSrvPushDataListener(func: (msg: string) => void): void;
    addEventListener(evt: string, func: (...args: any[]) => void): void;
    removeEventListener(evt: string, func: (...args: any[]) => void): void;
    dispatchEvent(evt: string, ...args: any[]): void;
    addLocalEventListener(evt: string, func: (...args: any[]) => void): void;
    removeLocalEventListener(evt: string, func: (...args: any[]) => void): void;
    dispatchLocalEvent(evt: string, ...args: any[]): void;
    callGame(msg: string): void;
    open(appID: number, extend?: object): void;
    close(appID?: number, extend?: object): void;
    callApplicationBroker(commandId: number, subCommandId: number, req: object, callback: (msg: any) => void): any;
    gameCustomFunction(functionName: string, ...args: any[]): any;
    setGameletAppEnv(appInfo: object, isProductEnvironment?: boolean): any;
    getResourceAppsInfo(): Promise<string>;
    getAppDownloadPath(): Promise<string>;
    cacheAsset(url: string, callback: (savePath: string, isSuccess: boolean) => void): void;
    isAssetCached(url: string): Promise<boolean>;
    getAssetCachePath(url: string): Promise<string>;
    storeAsset(url: string, callback: (savePath: string, isSuccess: boolean) => void): void;
    isAssetStored(url: string): Promise<boolean>;
    getAssetStorePath(url: string): Promise<string>;
    getJSSDKVersion(): string;
    getServerPlatID(): Promise<number>;
    md5HashFile(filePath: string): Promise<string>;
    md5HashString(value: string): Promise<string>;
}
