import { Curve, Float32BufferAttribute, Vector3 } from 'three';
import { AGeometryGenerator } from '../AGeometryGenerator';
import { IGeometry } from '../../../core/IGeometry';
import { UiObjectConfig } from 'uiconfig.js';
export interface TubeGeometryGeneratorParams {
    path: Curve<Vector3>;
    tubularSegments: number;
    radius: number;
    radialSegments: number;
    closed: boolean;
}
/**
 * Generates a tube geometry with circular cross-section along a 3D curve path.
 * Uses three.js TubeGeometry internally.
 */
export declare class TubeGeometryGenerator extends AGeometryGenerator<TubeGeometryGeneratorParams> {
    constructor(type?: string, defaultParams?: Partial<TubeGeometryGeneratorParams>);
    defaultParams: TubeGeometryGeneratorParams;
    protected _generateData(params: TubeGeometryGeneratorParams): {
        indices: number[];
        vertices: Float32BufferAttribute;
        normals: Float32BufferAttribute;
        uvs: Float32BufferAttribute;
    };
    createUiConfig(geometry: IGeometry): UiObjectConfig[];
}
//# sourceMappingURL=../../../src/plugins/geometry/primitives/TubeGeometryGenerator.d.ts.map