/**
 * Abstracts rendering context, such as "WebGLRenderer" in THREE.js or WebGL/WebGPU
 */
export class IRenderContext {
    resource_manager: RenderResourceManager;
    /**
     * @template T
     * @param {ResourceDescriptor<T>} descriptor
     * @returns {T}
     */
    createResource<T>(descriptor: ResourceDescriptor<T>): T;
    /**
     *
     * @template T
     * @param {T} resource
     * @param {ResourceDescriptor<T>} descriptor
     */
    destroyResource<T>(resource: T, descriptor: ResourceDescriptor<T>): void;
    destroy(): void;
}
import { RenderResourceManager } from "./resource/RenderResourceManager.js";
//# sourceMappingURL=IRenderContext.d.ts.map