/**
 * 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 { BaseSDFGlNode } from './_BaseSDF';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
import { GlType } from '../../poly/registers/nodes/types/Gl';
declare enum SDFRevolutionGlAxis {
    X = "X",
    Y = "Y",
    Z = "Z"
}
declare class SDFRevolutionGlParamsConfig 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 SDFRevolutionGlNode extends BaseSDFGlNode<SDFRevolutionGlParamsConfig> {
    paramsConfig: SDFRevolutionGlParamsConfig;
    static type(): GlType;
    initializeNode(): void;
    setAxis(axis: SDFRevolutionGlAxis): void;
    setLines(shadersCollectionController: ShadersCollectionController): void;
    private _functionName;
}
export {};
