import type { Mixins } from "../common"; import { AppAPI } from "./app"; import { PerformanceAPI } from "./performance"; import { RouteAPI } from "./route"; import { SystemAPI } from "./system"; import { UpdateAPI } from "./update"; import { WorkerAPI } from "./worker"; declare const BasicAPIs: readonly [ typeof AppAPI, typeof PerformanceAPI, typeof RouteAPI, typeof SystemAPI, typeof UpdateAPI, typeof WorkerAPI ]; export declare class BasicAPI { /** * 判断小程序的 API,回调,参数,组件等是否在当前版本可用。 * @version {"kma":"1.1.1","ide":"1.22.0"} * @param schema 使用 `${API}.${method}.${param}.${option}` 或者 `${component}.${attribute}.${option}` 方式来调用 * @returns 当前版本是否可用 * * @example * ```javascript * // 对象的属性或方法 * ks.canIUse('console.log'); * ks.canIUse('CameraContext.onCameraFrame'); * ks.canIUse('CameraFrameListener.start'); * * // ks接口参数、回调或者返回值 * ks.canIUse('getSystemInfoSync.return.safeArea.left'); * ks.canIUse('getSystemInfo.success.screenWidth'); * ks.canIUse('showToast.object.image'); * ks.canIUse('onCompassChange.callback.direction'); * ks.canIUse('request.object.method.GET'); * * // 组件的属性 * ks.canIUse('text.selectable'); * ks.canIUse('button.open-type.contact'); * * ``` * */ canIUse(schema: string): boolean; /** * 小程序中的一些组件是由客户端实现的,如 "video"、"map" 等。如果开发者希望通过 css 等途径往这些组件的上方放置一些其他组件,是需要小程序所在 App 具备一定能力才可以实现的。开发者可以使用本方法在小程序运行时判断某组件上方是否支持放置其他组件,并根据返回结果动态决定小程序页面的实现方式。 * @version {"kma":"1.90.2"} * @param componentName 小程序组件标签名称,如 "video"、"map" 等 * @returns 返回值是一个布尔值,表示是否支持在该类型组件上放置其他组件。 * * @example * ```javascript * const canIPut = ks.canIPutStuffOverComponent('video'); * if (canIPut) { * console.log('可以在 video 组件上放置元素'); * } else { * console.log('不可以在 video 组件上放置元素'); * } * * ``` * */ canIPutStuffOverComponent(componentName: string): boolean; /** * 将 Base64 字符串转换为 `ArrayBuffer` 对象。 * @param base64 要转换为 `ArrayBuffer` 对象的 Base64 字符串 * @returns `ArrayBuffer` 对象 * * @example * ```javascript * const base64Str = 'a3dhaQ=='; * * const arrayBuffer = ks.base64ToArrayBuffer(base64Str); * * ``` * */ base64ToArrayBuffer(base64: string): ArrayBuffer; /** * 将 `ArrayBuffer` 对象转换为 Base64 字符串。 * @param arrayBuffer 要转换为 Base64 字符串的 `ArrayBuffer` 对象 * @returns Base64 字符串 * @example * ```javascript * const arrayBuffer = new Uint8Array([107, 119, 97, 105]); * const base64Str = ks.arrayBufferToBase64(arrayBuffer); * * ``` * */ arrayBufferToBase64(arrayBuffer: ArrayBuffer): string; } export interface BasicAPI extends Mixins { } export {};