/**
 * Creates a ring.
 *
 * @remarks
 * If the node has no input, you can control the radius and center of the ring. If the node has an input, it will create a ring 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 RingSopParamsConfig extends NodeParamsConfig {
    /** @param inner radius of the ring */
    innerRadius: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param outer radius of the ring */
    outerRadius: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param segments count */
    thetaSegments: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param segments count */
    phiSegments: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param if set to 1, you can then set the phiStart, phi_end, thetaStart and theta_end */
    open: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param start of phi angle */
    angleStart: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param length of phi opening */
    angleLength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param axis perpendicular to the plane */
    direction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param center of the plane */
    center: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
}
export declare class RingSopNode extends TypedSopNode<RingSopParamsConfig> {
    paramsConfig: RingSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
}
export {};
