import type { Texture2DSourceOptions } from './types'; import type { GPUCapability } from '../render/gpu-capability'; export interface TextureLoader { /** * 从 ArrayBuffer 加载纹理 */ loadFromBuffer(arrBuffer: ArrayBuffer, gpuCapability?: GPUCapability): Promise; /** * 从 URL 加载纹理 */ loadFromURL(url: string, gpuCapability?: GPUCapability): Promise; /** * 释放资源 */ dispose(): void; } /** * 纹理加载器工厂类型 */ export type TextureLoaderFactory = () => TextureLoader; /** * 纹理加载器注册表 */ declare class TextureLoaderRegistry { private loaders; private instances; /** * 注册纹理加载器 * @param type - 加载器类型(如 'ktx2', 'hdr') * @param factory - 加载器工厂函数 */ register(type: string, factory: TextureLoaderFactory): void; /** * 注销纹理加载器 * @param type - 加载器类型 */ unregister(type: string): void; /** * 获取纹理加载器实例(单例) * @param type - 加载器类型 */ getLoader(type: string): TextureLoader | null; /** * 检查是否已注册某类型加载器 */ has(type: string): boolean; /** * 获取所有已注册的加载器类型 */ getRegisteredTypes(): string[]; /** * 清理所有加载器 */ dispose(): void; } /** * 全局纹理加载器注册表实例 */ export declare const textureLoaderRegistry: TextureLoaderRegistry; export {};