import type { Node } from './Node';
import { MeshGeometry } from '../../../procoregl/MeshGeometry';
import { PWFMeshnode } from '../interface/PWFMeshnode';
import type { PWFV1 } from '../PWFV1';
import { MeshnodeObject } from '../objects/MeshnodeObject';
export declare class Meshnode {
    protected pwfMeshnode: PWFMeshnode;
    private hiddenValue;
    private box3Value?;
    private centerValue?;
    private meshDataValue?;
    private meshGeometriesValue?;
    private matrixWorldValue?;
    protected pwf: PWFV1;
    selected: boolean;
    private _parent?;
    constructor(pwfMeshnode: PWFMeshnode, pwf: PWFV1);
    offset(): number;
    parentOffset(): number;
    parent(): Node;
    children(): never[];
    nodeId(): number;
    bbox(): Float32Array;
    box3(): NonNullable<Meshnode['box3Value']>;
    center(): THREE.Vector3;
    matrix(): Float32Array;
    matrixWorld(): THREE.Matrix4;
    group(): number;
    opaque(): number;
    numChild(): number;
    childRefs(): Uint32Array;
    isNode(): boolean;
    isMeshnode(): this is Meshnode;
    index(): number;
    virtualIndex(): number;
    meshGeometries(): MeshGeometry[];
    protected geometries(): MeshGeometry[];
    meshData(): NonNullable<Meshnode['meshDataValue']>;
    isRoot(): boolean;
    hidden(): Meshnode['hiddenValue'];
    setHidden(hidden: boolean): void;
    setParent(node: Node): void;
    asObject(): MeshnodeObject;
}
