import { Material, Mesh } from "@wonderlandengine/api"; import { Matrix4 } from "../../../cauldron/type_definitions/array_type_definitions.js"; import { AbstractVisualElement, AbstractVisualElementParams } from "./visual_element.js"; import { VisualElementDefaultType } from "./visual_element_types.js"; export declare class VisualMeshParams extends AbstractVisualElementParams { readonly myType: unknown | VisualElementDefaultType; myTransform: Matrix4; myLocal: boolean; /** `null` means it will default to `Globals.getDefaultMeshes().mySphere` */ myMesh: Mesh | null; /** `null` means it will default to `Globals.getVisualResources().myDefaultMaterials.myMesh` */ myMaterial: Material | null; protected _copyHook(other: Readonly, deepCopy: boolean): void; protected _new(): VisualMeshParams; protected _equalsHook(other: Readonly): boolean; } /** * Example: * * ```js * const visualParams = new VisualMeshParams(); * visualParams.myTransform = transform; * visualParams.myMesh = Globals.getDefaultMeshes().mySphere; * visualParams.myMaterial = Globals.getDefaultMaterials().myFlatOpaque.clone(); * visualParams.myMaterial.color = vec4_create(1, 1, 1, 1); * * const visualMesh = new VisualMesh(visualParams); * * // OR * * Globals.getVisualManager().draw(visualParams); * ``` */ export declare class VisualMesh extends AbstractVisualElement { private readonly _myMeshObject; private readonly _myMeshComponent; constructor(params?: VisualMeshParams); protected _visibleChanged(): void; protected _build(): void; protected _refreshHook(): void; protected _new(params: VisualMeshParams): VisualMesh; protected _destroyHook(): void; }