/**
 * revolves P around an axis before using it as an input for an SDF
 *
 * @remarks
 *
 * based on [https://iquilezles.org/articles/distfunctions/](https://iquilezles.org/articles/distfunctions/)
 */
import { BaseSDFJsNode } from './_BaseSDF';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { JsType } from '../../poly/registers/nodes/types/Js';
declare enum SDFRevolutionJsAxis {
    X = "X",
    Y = "Y",
    Z = "Z"
}
declare class SDFRevolutionJsParamsConfig extends NodeParamsConfig {
    position: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    center: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    radius: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    axis: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
}
export declare class SDFRevolutionJsNode extends BaseSDFJsNode<SDFRevolutionJsParamsConfig> {
    paramsConfig: SDFRevolutionJsParamsConfig;
    static type(): JsType;
    initializeNode(): void;
    setAxis(axis: SDFRevolutionJsAxis): void;
    setLines(linesController: JsLinesCollectionController): void;
    private _functionName;
}
export {};
