/**
 * Resample input lines
 *
 */
import { LineSegments } from 'three';
import { BufferGeometry } from 'three';
import { CatmullRomCurve3 } from 'three';
import { TypedSopNode } from './_Base';
export declare enum METHOD {
    POINTS_COUNT = "pointsCount",
    SEGMENT_LENGTH = "segmentLength"
}
export declare const METHODS: METHOD[];
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { CoreGroup } from '../../../core/geometry/Group';
import { BaseCorePoint } from '../../../core/geometry/entities/point/CorePoint';
import { Vector3 } from 'three';
import { SplineCurveType } from '../../../core/geometry/Curve';
declare class ResampleSopParamsConfig extends NodeParamsConfig {
    /** @param resampling method */
    method: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param type of curve this will generate */
    curveType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param curve tension */
    tension: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param points count */
    pointsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param segments length */
    segmentLength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class ResampleSopNode extends TypedSopNode<ResampleSopParamsConfig> {
    paramsConfig: ResampleSopParamsConfig;
    static type(): string;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): void;
    setCurveType(curveType: SplineCurveType): void;
    _resample(lineSegment: LineSegments): LineSegments<BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | undefined;
    _create_curve_from_points(points: BaseCorePoint[]): BufferGeometry<import("three").NormalBufferAttributes> | undefined;
    _get_points_from_curve(curve: CatmullRomCurve3): Vector3[];
}
export {};
