/** @packageDocumentation
 * @module Curve
 */
import { IStrokeHandler } from "../../geometry3d/GeometryHandler";
import { Point3d, Vector3d } from "../../geometry3d/Point3dVector3d";
import { CurvePrimitive } from "../CurvePrimitive";
/**
 * Context for computing the length of a CurvePrimitive.
 * @internal
 */
export declare class CurveLengthContext implements IStrokeHandler {
    private _curve;
    private _summedLength;
    private _ray;
    private _fraction0;
    private _fraction1;
    private _gaussMapper;
    private tangentMagnitude;
    /** Return the fraction0 installed at construction time. */
    get getFraction0(): number;
    /** Return the fraction1 installed at construction time. */
    get getFraction1(): number;
    getSum(): number;
    constructor(fraction0?: number, fraction1?: number, numGaussPoints?: number);
    startCurvePrimitive(curve: CurvePrimitive | undefined): void;
    startParentCurvePrimitive(_curve: CurvePrimitive): void;
    endParentCurvePrimitive(_curve: CurvePrimitive): void;
    endCurvePrimitive(): void;
    announceIntervalForUniformStepStrokes(cp: CurvePrimitive, numStrokes: number, fraction0: number, fraction1: number): void;
    announceSegmentInterval(_cp: CurvePrimitive, point0: Point3d, point1: Point3d, _numStrokes: number, fraction0: number, fraction1: number): void;
    announcePointTangent(_xyz: Point3d, _fraction: number, _tangent: Vector3d): void;
}
//# sourceMappingURL=CurveLengthContext.d.ts.map