import { WonderlandEngine } from "@wonderlandengine/api"; import { VisualElement, VisualElementParams } from "./elements/visual_element.js"; import { VisualElementDefaultType } from "./elements/visual_element_types.js"; export declare class VisualManager { private readonly _myVisualElementPrototypeCreationCallbacks; private readonly _myVisualElementsTypeMap; private _myVisualElementLastID; private readonly _myVisualElementsToShow; private _myVisualElementsParent; private _myActive; private readonly _myObjectPoolManagerPrefix; private readonly _myTypePoolIDs; private readonly _myEngine; private _myDestroyed; constructor(engine?: Readonly); setActive(active: boolean): void; isActive(): boolean; start(): void; update(dt: number): void; /** `lifetimeSeconds` can be `null`, in that case the element will be drawn until cleared */ draw(visualElementParams: VisualElementParams, lifetimeSeconds?: number | null, idToReuse?: unknown): unknown | null; getVisualElement(elementID: unknown): VisualElement | null; getVisualElementParams(elementID: unknown): VisualElementParams | null; getVisualElementID(visualElement: Readonly): unknown; clearAllVisualElements(): void; clearVisualElement(elementID: unknown): void; allocateVisualElementType(visualElementType: unknown | VisualElementDefaultType, amount: number): void; addVisualElementType(visualElementType: unknown | VisualElementDefaultType, visuaElementPrototypeCreationCallback: () => VisualElement): void; removeVisualElementType(visualElementType: unknown | VisualElementDefaultType): void; private _updateDraw; private _getVisualElementFromPool; private _addVisualElementTypeToPool; private _addDefaultVisualElementTypes; private _getTypePoolID; private _releaseElement; private _getClassName; destroy(): void; isDestroyed(): boolean; }