/**
 * Sets its transform based on the point position in a referenced object.
 *
 *
 */
import { TypedObjNode } from './_Base';
import { FlagsControllerD } from '../utils/FlagsController';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { HierarchyController } from './utils/HierarchyController';
import { BufferGeometry } from 'three';
import { Material } from 'three';
import { Mesh } from 'three';
declare class RivetObjParamConfig extends NodeParamsConfig {
    object: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    pointIndex: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    updateMode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    update: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
}
export declare class RivetObjNode extends TypedObjNode<Mesh, RivetObjParamConfig> {
    paramsConfig: RivetObjParamConfig;
    static type(): Readonly<'rivet'>;
    readonly hierarchyController: HierarchyController;
    readonly flags: FlagsControllerD;
    private _helper;
    private _resolvedSopGroup;
    private _found_point_post;
    createObject(): Mesh<BufferGeometry<import("three").NormalBufferAttributes>, Material | Material[], import("three").Object3DEventMap>;
    initializeNode(): void;
    private _updateHelperHierarchy;
    cook(): Promise<void>;
    private _updateRenderHook;
    private _addRenderHook;
    private _removeRenderHook;
    private _on_object_before_render_bound;
    private _update;
    static PARAM_CALLBACK_update_resolved_object(node: RivetObjNode): void;
    private _update_resolved_object;
    private _resolvedObject;
    static PARAM_CALLBACK_update_updateMode(node: RivetObjNode): void;
    static PARAM_CALLBACK_update(node: RivetObjNode): void;
}
export {};
