import { VideoElement } from '../types/data'; export declare function addFilter(container: any, filter: any): void; /** * 将 APNG 帧里的 Blob 类型 imageData 转换成 Canvas ImageData * @param {Blob} blob - frame.imageData (你的数据) * @returns {Promise} */ export declare function blobToImageData(blob: Blob): Promise; export declare function delFilter(container: any, id: string): void; export declare function findFilter(container: any, id: string): any; /** 重新设置base64的图片大小 * 将Base64图片缩小为指定宽度(保持宽高比) * @param {string} base64Image - 原始Base64图片数据 * @param {number} targetWidth - 目标宽度(默认200) * @returns {Promise} - 返回处理后的Base64图片 */ export declare function resizeBase64Image(base64Image: string, targetWidth?: number): Promise; export declare function mediaInfo(url: string): Promise; export declare function getVideoFile(url: string, fileName?: string): Promise; export declare function getFirstRoute(urlPath: string): string; export declare function joinURL(base: string, ...paths: string[]): string; export declare function reURL(url?: string, resourceHost?: string): string; /** * 生成一个不重复的ID * @returns */ export declare function createID(n?: number): string; export declare function exec(url: string): any; /** * AB之间插入一个最佳的值 */ export declare function inserValAB(a: number, b: number): number; /** * 碰撞检测,box1 和 box2 是否碰撞 */ export interface Box { x: number; y: number; width: number; height: number; } export declare function crashRects(box1: Box, box2: Box): boolean; /** * 加载字体 * @param fontFamily * @param url */ export declare function loadFont(fontFamily: string, url: string): Promise; export declare function readFileAsArrayBuffer(file: File | Blob): Promise; export declare function readFileAsText(file: File | Blob): Promise; export declare function blobURL2Data(url: string): Promise; export declare function base642URL(base64: string): string; /** * 取整数 */ export declare function toNum(n: number, m?: number): number; /** * sleep */ export declare function sleep(time: number): Promise; export declare function uniqArr(arr: any[]): any[]; export declare function toJS(obj: Record | any[]): any; /** * 时间转换 */ export declare function timeToNum(time: number): number; export declare function betterHash(str: string): number; /** * 更新zIndex * @param ndata * @returns */ export declare function updateTrackIndex(ndata: any): any; /** * 自动设置cropSize,适配 * @param element * @param resourcSize */ export declare function setCropSize(element: VideoElement, resourcSize: { width: number; height: number; }): void; /** * 计算图片的最大完整居中显示尺寸 * @param size * @returns */ export declare function calcSizeAndPosition(itemSize: { width: number; height: number; }, movieSize: { width: number; height: number; }): { width: number; height: number; x: number; y: number; }; export declare function bindSelf(_target: any, _key: any, descriptor: any): any; /** * 对象数据拷贝 * 将对象obj1的数据拷贝到obj2 */ export declare function objectCopyValue(obj1: Record, obj2: Record): Record; /** * 通过元素id获取对应的dom元素 * @param ids * @returns */ export declare function getTargetByIds(ids: string[]): HTMLElement[]; export declare function getVideoFrameAtTime(time: number, video: HTMLVideoElement): Promise; export declare function mediaCanplay(media: HTMLVideoElement): Promise; /** * 裁剪视频图片 * @param media * @param currentTime * @param width * @param height */ export declare function createMediaTransitionCapture(media: HTMLVideoElement | HTMLCanvasElement, currentTime: number, canvasSize: { width: number; height: number; }, videoSize: { width: number; height: number; x: number; y: number; rotation: number; }, backgroundColor?: string): Promise; /** * 创建转场的截图 * @param src * @param canvasSize * @param imageSize * @param backgroundColor * @returns */ export declare function createImageTransitionCapture(src: string, canvasSize: { width: number; height: number; }, imageSize: { width: number; height: number; x: number; y: number; rotation: number; }, backgroundColor?: string): Promise; export declare function dataURLtoBlob(dataurl: string): Blob; export declare function isIOSWechatBrowser(): boolean; export declare function isIOS(): boolean; /** * 异步加载媒体资源 * @param src * @param type * @returns */ export declare function mediaLazy(src: string, time?: number, type?: 'video' | 'audio'): Promise; /** * 获取数组最后一个元素 */ export declare function lastItem(arr: any[]): any; /** * 异步加载图片 */ export declare function lazyImage(url: string): Promise; /** * 获取文件后缀 */ export declare function getFileExtension(url?: string): string; /** * 通过文件名称获取文件类型 * @param fileName * @returns */ export declare function getFileTypeFromFileName(fileName: string): string | null; export declare const secToTime: (totalSeconds?: number, format?: string, min?: "min1") => string; /** * 碰撞检测 */ export interface HitRectParams { x: number; y: number; width: number; height: number; } export declare function hitRect(a: HitRectParams, b: HitRectParams): boolean; /** * 数组平均分割 * @param arr * @returns */ export declare function splitArray(arr: any[]): any[][];