import { Buffer, Device, RenderPass, SwapChain } from '@antv/g-device-api'; import { type RGGraphBuilder } from '../render-graph/interface'; import { Entity } from '@lastolivegames/becsy'; import { Drawcall } from '../drawcalls'; import { TexturePool } from '../resources'; import { RenderCache } from '../utils'; import { API } from '../API'; export declare class BatchManager { #private; private readonly device; private readonly swapChain; private readonly renderCache; private readonly texturePool; private readonly api; constructor(device: Device, swapChain: SwapChain, renderCache: RenderCache, texturePool: TexturePool, api: API); private collectDrawcallCtors; private createDrawcalls; private getOrCreateNonBatchableDrawcalls; private getOrCreateBatchableDrawcalls; add(shape: Entity, drawcalls?: Drawcall[]): void; /** * Called when a shape is: * * removed from the scene graph. * * culled from viewport. * * invisible. */ remove(shape: Entity, destroy?: boolean): void; hideUIs(): void; showUIs(): void; destroy(): void; clear(): void; sort(): void; flush(renderPass: RenderPass, uniformBuffer: Buffer, uniformLegacyObject: Record, builder: RGGraphBuilder): void; stats(): { drawcallCount: number; }; }