import { Vector3d } from "../../geometry3d/Point3dVector3d";
import { UnionOfConvexClipPlaneSets } from "../UnionOfConvexClipPlaneSets";
import { IndexedXYZCollection } from "../../geometry3d/IndexedXYZCollection";
/**
 * Class for building clip sets for offset regions.
 * @internal
 */
export declare class LineStringOffsetClipperContext {
    private _positiveOffsetLeft;
    private _positiveOffsetRight;
    private _turnDegrees;
    private constructor();
    /**
     * Create a unit vector from point i to point i+1.
     * If closed, do point indexing with
     *   * index less than 0 get final segment
     *   * index at or beyond points.length-1 wraps to first segment
     * @param points
     * @param index0
     * @param closed indicates that first and last points are identical and need wrap logic.
     */
    static createUnit(points: IndexedXYZCollection, index0: number, closed: boolean, xyOnly?: boolean): Vector3d | undefined;
    private static createDirectedPlane;
    /**
     * Create (if needed) the chamfer cutback plane for a turn.
     * @param clipSet set to receive the plane
     * @param point central point
     * @param unitA incoming vector
     * @param unitB outgoing vector
     */
    private createChamferCut;
    private createOffsetFromSegment;
    /**
     * @param points
     * @param positiveOffsetLeft offset to left.  0 is clip on the path.
     * @param positiveOffsetRight offset to the right.  0 is clip on the path.
     * @param z0 z for lower clipping plane. If undefined, unbounded in positive z
     * @param z1 z for upper clipping plane. If undefined, unbounded in negative z.
     */
    static createClipBetweenOffsets(points: IndexedXYZCollection, positiveOffsetLeft: number, positiveOffsetRight: number, z0: number | undefined, z1: number | undefined): UnionOfConvexClipPlaneSets;
}
//# sourceMappingURL=LineStringOffsetClipperContext.d.ts.map