/** @packageDocumentation
 * @module Curve
 */
import { BSplineCurve3d } from "../../bspline/BSplineCurve";
import { IStrokeHandler } from "../../geometry3d/GeometryHandler";
import { Point3d, Vector3d } from "../../geometry3d/Point3dVector3d";
import { CurvePrimitive } from "../CurvePrimitive";
/**
 * Context for constructing the xy-offset of a CurvePrimitive by interpolating the xy-offsets of computed strokes.
 * @internal
 */
export declare class CurveOffsetXYHandler implements IStrokeHandler {
    private _offsetDistance;
    private _fitOptions;
    private _p0;
    private _p1;
    private _v0;
    private _v1;
    private _r0;
    constructor(cp: CurvePrimitive, offsetDistance: number);
    private pushOffsetPoint;
    needPrimaryGeometryForStrokes(): boolean;
    startParentCurvePrimitive(_cp: CurvePrimitive): void;
    startCurvePrimitive(_cp: CurvePrimitive): void;
    endCurvePrimitive(_cp: CurvePrimitive): void;
    endParentCurvePrimitive(_cp: CurvePrimitive): 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;
    /**
     * Construct a C2 cubic interpolating B-spline curve through the collected xy-offset points.
     * @returns the xy-offset curve
     */
    claimResult(): BSplineCurve3d | undefined;
}
//# sourceMappingURL=CurveOffsetXYHandler.d.ts.map