import { type FunnelCurveGenerator, type CurveOptions, type Point } from "./curve.types.js";
/**
 * This is a custom "step-pyramid" curve generator.
 * It creates a step pyramid, which is a step-like shape with static lengths.
 * It has the option to add a gap between sections while also properly handling the border radius.
 */
export declare class StepPyramid implements FunnelCurveGenerator {
  private context;
  private position;
  private sections;
  private isHorizontal;
  private isIncreasing;
  private gap;
  private borderRadius;
  private min;
  private max;
  private points;
  constructor(context: CanvasRenderingContext2D, {
    isHorizontal,
    gap,
    position,
    sections,
    borderRadius,
    min,
    max,
    isIncreasing
  }: CurveOptions);
  areaStart(): void;
  areaEnd(): void;
  lineStart(): void;
  lineEnd(): void;
  protected getBorderRadius(): number | number[];
  slopeStart(index: number): Point;
  slopeEnd(index: number): Point;
  initialX(index: number, points: Point[]): number;
  initialY(index: number, points: Point[]): number;
  processPoints(points: Point[]): Point[];
  point(xIn: number, yIn: number): void;
}