/**
 * Creates a box.
 *
 * @remarks
 * If the node has no input, you can control the radius and center of the box. If the node has an input, it will create a box that encompasses the input geometry.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class BoxSopParamsConfig extends NodeParamsConfig {
    /** @param size of the box */
    size: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param sizes on each axis */
    sizes: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param number of segments on each axis */
    divisions: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param center of the geometry */
    center: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
}
export declare class BoxSopNode extends TypedSopNode<BoxSopParamsConfig> {
    readonly paramsConfig: BoxSopParamsConfig;
    static type(): SopType;
    protected initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
}
export {};
