/**
 * Resets the center of a geometry.
 *
 * @remarks
 * This can be useful when importing an object whose centroid is not at the center of the geometry. When using this geometry via the LOD SOP, the center of the object will be used to calculate the distance from the object to the camera. It is then necessary to ensure that the center of the object and the center of the geometry are as close to each other as possible.
 *
 * This node can operate in one of multiple modes:
 *
 * - reset_object: this will set the transform of objects to t=0,0,0, r=0,0,0 and s=0,0,0
 * - center geometry: TBD
 * - promote: TBD
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
declare enum TransformResetMode {
    RESET_OBJECT = "reset objects transform",
    CENTER_GEO = "center geometries",
    PROMOTE_GEO_TO_OBJECT = "center geometry and transform object"
}
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class TransformResetSopParamConfig extends NodeParamsConfig {
    /** @param mode to reset the geometry and object */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
}
export declare class TransformResetSopNode extends TypedSopNode<TransformResetSopParamConfig> {
    params_config: TransformResetSopParamConfig;
    static type(): string;
    static displayedInputNames(): string[];
    private _bbox_center;
    private _translate_matrix;
    initializeNode(): void;
    setMode(mode: TransformResetMode): void;
    cook(input_contents: CoreGroup[]): void;
    private _select_mode;
    private _reset_objects;
    private _center_geos;
}
export {};
