import { type FunnelLabelOptions } from "./funnel.types.js";
import { type Point } from "./curves/index.js";
type AlignReturnType = {
  textAnchor: FunnelLabelOptions['textAnchor'];
  dominantBaseline: Exclude<FunnelLabelOptions['dominantBaseline'], 'baseline'>;
};
/**
 * It tries to keep the label inside the bounds of the section based on the position.
 *
 * @returns The text anchor and dominant baseline of the label.
 */
export declare const alignLabel: ({
  position,
  textAnchor,
  dominantBaseline
}: Omit<FunnelLabelOptions, "margin">) => AlignReturnType;
/**
 * This function calculates the position of the label based on the position and margin.
 *
 * It is quite complex, because it needs to calculate the position based on the position of the points of a rectangle.
 * And we are manually calculating each possible position of the label.
 *
 * @returns The x and y position of the label.
 */
export declare const positionLabel: ({
  position,
  offset,
  isHorizontal,
  values
}: Omit<FunnelLabelOptions, "textAnchor" | "dominantBaseline"> & {
  isHorizontal: boolean;
  values: readonly Point[];
}) => {
  x: number;
  y: number;
};
export {};