interface ImageURLMappings { [publicDomain: string]: { "type"?: string; "pano": [string, string]; "tile": [string, string]; "model": [string, string]; "texture": [string]; "default": [string]; }; } interface ImageURLOptions { /** 图片类型标识 */ key: string; /** 图片尺寸参数 尽量使用 2 的幂次 如 256 512 1024 */ size?: number; /** 图片质量参数(0-100) */ quality?: number; /** 图片格式参数 */ format?: "jpg" | "jpeg" | "png" | "heif" | "heic" | "webp" | "avif"; /** 图片裁切 */ cut?: [x: number, y: number, width: number, height: number]; /** 锐化参数 海外不支持 */ sharpen?: number; /** 腾讯云在做裁切, 旋转等操作时,需要此参数,应用 exif orientation */ forceUseExifOrientation?: boolean; /** 域名匹配规则 */ mappings?: ImageURLMappings; } /** * URL 地址的转换 * @param source - url 原地址 * @param options - url 转换参数 * @returns url 转换结果 */ declare function imageURL(source: string, options: ImageURLOptions): string; declare function applyImageURLOptions(source: string, imageURLTransform: ((source: string, options: ImageURLOptions) => string) | undefined, imageURLOptions: ImageURLOptions): string; /** 从 url 获取图片尺寸, 图片中有 cube_ 特征 */ declare function getImageSizeFromURL(url: string): number | null; /** 从 url 替换图片尺寸, 图片中有 cube_ 特征 */ declare function replaceImageSize(url: string, size: number): string; declare function getImageSizeLevel(size: number): number; export { imageURL, ImageURLOptions, applyImageURLOptions, ImageURLMappings, getImageSizeFromURL, replaceImageSize, getImageSizeLevel };