export class WebGLRendererPool {
    static global: WebGLRendererPool;
    used: Set<any>;
    get(): WebGLRenderer;
    /**
     *
     * @param {THREE.WebGLRenderer} renderer
     * @returns {boolean}
     */
    release(renderer: THREE.WebGLRenderer): boolean;
    /**
     * After callback returns, renderer is released back into the pool
     * @template T
     * @param {function(renderer:WebGLRenderer):T} callback
     * @param {*} [thisArg]
     */
    use<T>(callback: any, thisArg?: any): any;
    /**
     * @template T
     * @param {function(renderer:WebGLRenderer):Promise<T>} callback
     * @param {*} [thisArg]
     */
    useAsync<T_1>(callback: any, thisArg?: any): Promise<void>;
}
import { WebGLRenderer } from 'three';
//# sourceMappingURL=RendererPool.d.ts.map