import type { RenderPass } from '@antv/g-device-api'; import type { RenderCache } from './RenderCache'; import type { RenderInst } from './RenderInst'; import { RenderInstList } from './RenderInstList'; import { RenderInstPool } from './RenderInstPool'; export declare class RenderInstManager { renderCache: RenderCache; instPool: RenderInstPool; templatePool: RenderInstPool; simpleRenderInstList: RenderInstList | null; currentRenderInstList: RenderInstList; constructor(renderCache: RenderCache); /** * Creates a new RenderInst object and returns it. If there is a template * pushed onto the template stack, then its values will be used as a base for this * render inst. */ newRenderInst(): RenderInst; /** * Submits RenderInst to the current render inst list. Note that * this assumes the render inst was fully filled in, so do not modify it * after submitting it. */ submitRenderInst(renderInst: RenderInst, list?: RenderInstList): void; /** * Sets the currently active render inst list. This is the list that will * be used by @param submitRenderInst}. If you use this function, please * make sure to call {@see disableSimpleMode} when the RenderInstManager * is created, to ensure that nobody uses the "legacy" APIs. Failure to do * so might cause memory leaks or other problems. */ setCurrentRenderInstList(list: RenderInstList): void; /** * Pushes a new template render inst to the template stack. All properties set * on the topmost template on the template stack will be the defaults for both * for any future render insts created. Once done with a template, call * {@param popTemplateRenderInst} to pop it off the template stack. */ pushTemplateRenderInst(): RenderInst; popTemplateRenderInst(): void; /** * Retrieves the current template render inst on the top of the template stack. */ getTemplateRenderInst(): RenderInst; /** * Reset all allocated render insts. This should be called at the end of the frame, * once done with all of the allocated render insts and render inst lists. */ resetRenderInsts(): void; destroy(): void; /** * Disables the "simple" render inst list management API. */ disableSimpleMode(): void; drawOnPassRenderer(passRenderer: RenderPass): void; drawOnPassRendererNoReset(passRenderer: RenderPass): void; } //# sourceMappingURL=RenderInstManager.d.ts.map