import { PWFNode } from '../interface/PWFNode';
import { Meshnode } from './Meshnode';
import type { PWFV1 } from '../PWFV1';
import { NodeObject } from '../objects/NodeObject';
export declare class Node {
    private pwfNode;
    private pwf;
    private readonly box3Value;
    isFirstObjectValue: boolean;
    private _parent?;
    constructor(pwfNode: PWFNode, pwf: PWFV1);
    box3(): Node['box3Value'];
    unionBBox(bbox: THREE.Box3): void;
    isRoot(): boolean;
    offset(): number;
    nodeId(): number;
    parentOff(): number;
    setParent(node: Node): void;
    parent(): Node | undefined;
    numChild(): number;
    hasChildren(): boolean;
    group(): number;
    isSelectable(): boolean;
    nodeType(): number;
    childOffsets(): Uint32Array;
    children(): (Node | Meshnode)[];
    isNode(): this is Node;
    isMeshnode(): boolean;
    isFirstObject(): boolean;
    hasMeshnodeChildren(): boolean;
    numMeshnodeChildren(): number;
    asObject(): NodeObject;
}
