import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import type { ThreejsCoreObject } from '../../../core/geometry/modules/three/ThreejsCoreObject';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class PointSopParamsConfig extends NodeParamsConfig {
    /** @param toggle on to update the x component */
    updateX: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param expression the x component */
    x: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param toggle on to update the y component */
    updateY: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param expression the y component */
    y: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param toggle on to update the z component */
    updateZ: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param expression the z component */
    z: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param toggle on to update the normals */
    updateNormals: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class PointSopNode extends TypedSopNode<PointSopParamsConfig> {
    paramsConfig: PointSopParamsConfig;
    static type(): SopType;
    private _x_arrays_by_geometry_uuid;
    private _y_arrays_by_geometry_uuid;
    private _z_arrays_by_geometry_uuid;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): Promise<void>;
    _evalExpressionsForCoreGroup(coreGroup: CoreGroup): Promise<void>;
    _evalExpressionsForCoreObject(coreObject: ThreejsCoreObject): Promise<void>;
    private _updateFromParam;
    private _initArrayIfRequired;
    private _array_for_component;
    private _commitTmpValues;
}
export {};
