import { PmmModelParams } from '@dodoex/api';
import BigNumber from 'bignumber.js';
/**
 * data point
 */
export type StatPoint = {
    giveAmount: BigNumber;
    getAmount: BigNumber;
    price: BigNumber;
};
/**
 * Drawing method:
  Substitute the minimum value to get the height of the center point, which is the bottom edge of the area chart. Substitute the maximum value to get the vertex of the area chart. The length of the bottom edge from the vertex is the price range.

  Divide the total area into one hundred equal parts. Calculate each part on the basis of the previous part. Substitute the new area into the formula to get a new price. The difference from the previous price is the width of the rectangle. The area is divided by The width is the height of the rectangle, which is the ordinate.

  First, calculate a series of points as a point set based on the rectangular accumulation method.

  When the mouse hovers, the abscissa is the price. Find the closest price in the point set. Use this price as the end point and the center line as the starting point to get a subset of the point set. You can draw a line by combining the center line and the abscissa. The area of ​​the trapezoid can be drawn.

  Update: Taking Δl as the ordinate, Δl = (the difference between the quantity passed in from the previous point and the next point) * (the difference between the quantity obtained from the previous point and the next point)
 */
export type StatAreaPoint = {
    area: BigNumber;
    price: BigNumber;
    middlePrice: BigNumber;
    rectangleHeight: BigNumber;
};
export declare function usePoints({ params }: {
    params: PmmModelParams;
}): {
    leftStatAreaPoints: StatAreaPoint[];
    rightStatAreaPoints: StatAreaPoint[];
    maxLeftHeight: BigNumber;
    maxRightHeight: BigNumber;
    minXLN10: BigNumber;
    maxXLN10: BigNumber;
    middlePriceLN10: BigNumber;
};
