import { type FunnelCurveGenerator, type CurveOptions, type Point } from "./curve.types.js";
/**
 * This is a custom "step" curve generator.
 * It is used to draw "rectangles" from 4 points without having to rework the rendering logic,
 * with the option to add a gap between sections while also properly handling the border radius.
 *
 * It takes the min and max of the x and y coordinates of the points to create a rectangle.
 *
 * The implementation is based on the d3-shape step curve generator.
 * https://github.com/d3/d3-shape/blob/a82254af78f08799c71d7ab25df557c4872a3c51/src/curve/step.js
 */
export declare class Step implements FunnelCurveGenerator {
  private context;
  private isHorizontal;
  private isIncreasing;
  private gap;
  private borderRadius;
  private position;
  private sections;
  private points;
  constructor(context: CanvasRenderingContext2D, {
    isHorizontal,
    gap,
    position,
    borderRadius,
    isIncreasing,
    sections
  }: CurveOptions);
  areaStart(): void;
  areaEnd(): void;
  lineStart(): void;
  lineEnd(): void;
  protected getBorderRadius(): number | number[];
  processPoints(points: Point[]): Point[];
  point(xIn: number, yIn: number): void;
}