export declare function singleton<T>(impl: new () => T): {
    getInstance: () => T;
};
/**
 * Uid 的结构是 ID + magic(<100000)
 * QJS int 是64位（53有效位），足够用以标识
 */
export declare let generateUID: (magic?: number) => string;
export declare function getQueryParam(key: string): string;
/**
 * 获取内部版本号
 */
export declare function getGameletInnerVersion(): string;
/**
 * 把version转为数字类型方便对比。特别注意:targetVersion最大支持4位版本号，每一位为最大不超过99
 * @param targetVersion 传入的版本号，如 1.0.1.0 , 1.0.1 , 1.1
 * @returns 错误时返回 undefined, 正确时转为数字，如 1 00 01 00, 1 00 01 00, 1 01 00 00
 */
export declare function checkVersionToNumber(targetVersion: string): number;
/**
 * 获取版本号的主版本号（首位）
 * 例如 "15.0.1000.0" -> 15, "1.2.3" -> 1
 */
export declare function getMajorVersion(version: string): number;
export declare function GenCallApplicationBrokerRequest(subCommandId: number, applicationId: number, appKey: string, appVersion: string, requestbodyProxyDataObject: object, userData: any): {};
export declare function CalculateCallApplicationBrokerSign(headerTable: any, appkey: any): string;
export declare function UserdataComp(ud: any): any;
export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
export declare function base64ToArrayBuffer(base64: string): ArrayBuffer;
