/**
 * A render contains an array of meshes that are referenced by a single hierarchy node in a GLB
 * model, and are accessible using {@link ContainerResource#renders} property. The render is the
 * resource of a Render Asset.
 *
 * @ignore
 */
export class Render extends EventHandler {
    /**
     * Fired when the meshes are set on the render. The handler is passed the an array of
     * {@link Mesh} objects.
     *
     * @event
     * @example
     * render.on('set:meshes', (meshes) => {
     *     console.log(`Render has ${meshes.length} meshes`);
     * });
     * @ignore
     */
    static EVENT_SETMESHES: string;
    /**
     * Meshes are reference counted, and this class owns the references and is responsible for
     * releasing the meshes when they are no longer referenced.
     *
     * @type {import('./mesh.js').Mesh[]}
     * @private
     */
    private _meshes;
    /**
     * The meshes that the render contains.
     *
     * @type {import('./mesh.js').Mesh[]}
     */
    set meshes(value: import("./mesh.js").Mesh[]);
    get meshes(): import("./mesh.js").Mesh[];
    destroy(): void;
    decRefMeshes(): void;
    incRefMeshes(): void;
}
import { EventHandler } from '../core/event-handler.js';
