/**
 * Creates a Torus Knot.
 *
 * @remarks
 * The Torus Knot is akin to the Torus, except that you can create more complex shapes by using the `p` and `q` paramters.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class TorusKnotSopParamsConfig extends NodeParamsConfig {
    /** @param large radius */
    radius: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
    /** @param radius of the tube */
    radiusTube: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
    /** @param number of segments along the length of the torus */
    segmentsRadial: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param number of segments along the tube */
    segmentsTube: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param change this to create more interesting shapes. Don't ask me what it is exactly, I don't know! */
    p: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param change this to create more interesting shapes. Don't ask me what it is exactly, I don't know! */
    q: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param center of the torus knot */
    center: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
}
export declare class TorusKnotSopNode extends TypedSopNode<TorusKnotSopParamsConfig> {
    params_config: TorusKnotSopParamsConfig;
    static type(): string;
    initializeNode(): void;
    private _operation;
    cook(input_contents: CoreGroup[]): void;
}
export {};
