import { Curve, Vector2, Vector3 } from 'three';
import { Class } from 'ts-browser-helpers';
import { UiObjectConfig } from 'uiconfig.js';
import { IGeometry } from '../../../core/IGeometry';
import { IMaterial } from '../../../core/IMaterial';
import { IObject3D } from '../../../core/IObject';
import { AGeometryGenerator } from '../AGeometryGenerator';
import { SupportedCurveTypes } from '../helpers/CurveUiHelper';
export interface LineGeometryGeneratorParams {
    curve?: SupportedCurveTypes | Curve<Vector2> | Curve<Vector3>;
    segments?: number;
    closePath?: boolean;
}
export declare class LineGeometryGenerator extends AGeometryGenerator<LineGeometryGeneratorParams> {
    constructor(type?: string, defaultParams?: Partial<LineGeometryGeneratorParams>);
    defaultParams: LineGeometryGeneratorParams;
    static UseMeshLines: boolean;
    defaultMeshClass: () => Class<IObject3D>;
    defaultMaterialClass: () => Class<IMaterial>;
    defaultGeometryClass: () => Class<IGeometry>;
    protected _generateData(params: LineGeometryGeneratorParams): {
        vertices: number[];
        normals: never[];
        uvs: never[];
        positions: number[];
    };
    createUiConfig(geometry: IGeometry): UiObjectConfig[];
}
//# sourceMappingURL=../../../src/plugins/geometry/primitives/LineGeometryGenerator.d.ts.map