import type { Texture } from '../texture.class';
/**
 * 在 Web Worker 中创建并渲染贴图
 *
 * 使用 Web Worker 在后台线程中执行贴图渲染，以避免阻塞主线程：
 * 1. 在 Worker 中使用 OffscreenCanvas 进行渲染
 * 2. 通过 ImageBitmap 传输渲染结果
 * 3. 自动优化性能和内存使用
 *
 * 工作流程：
 * 1. 准备数据：提取必要的贴图信息
 * 2. 创建 Worker：初始化渲染环境
 * 3. 执行渲染：在后台进行图像处理
 * 4. 返回结果：将渲染结果转回主线程
 *
 * @param texture - 贴图对象，包含变形网格和渲染选项
 * @param imageData - 源图像数据
 * @param destination - 目标渲染画布，如果为 null 则自动创建
 * @param options - 渲染配置选项
 *   @property {number} x - 渲染位置 X 坐标
 *   @property {number} y - 渲染位置 Y 坐标
 *   @property {number} width - 渲染宽度
 *   @property {number} height - 渲染高度
 *   @property {number} [sourceScale=1] - 源图像缩放比例，大于1放大，小于1缩小
 *   @property {number} [destinationScale=1] - 目标画布缩放比例，大于1放大，小于1缩小
 *
 * @returns {Promise<HTMLCanvasElement>} 渲染完成的画布对象
 *
 * @throws {Error}
 * - 当 Worker 创建失败时
 * - 当 OffscreenCanvas 不受支持时
 * - 当渲染过程发生错误时
 */
declare const createTextureWithWorker: (texture: Texture, imageData: ImageData, destination: HTMLCanvasElement | null, options: {
    x: number;
    y: number;
    width: number;
    height: number;
    sourceScale?: number;
    destinationScale?: number;
}) => Promise<HTMLCanvasElement>;
export default createTextureWithWorker;
