import { AxisDomain, AxisScale, ChartOptions, ChartPathOptions, LineChartDataType } from '../../../types/vega-chart';
import { InputProcessor } from './input-processor';
declare type ScaleRecordType = Record<'xScale' | 'yScale', AxisScale<AxisDomain>>;
/** The `LinePathInputProcessor` class generates chart path options based on input data and previous scale records for a line chart. */
export declare class LinePathInputProcessor implements InputProcessor<ChartOptions<LineChartDataType>, ChartPathOptions, ScaleRecordType> {
  /**
   * This function generates chart path options based on input data and previous scale records.
   *
   * @param {ChartOptions<LineChartDataType>} input - The input parameter is an object of type ChartOptions that contains two properties:
   * dataSource and colors. The dataSource property is of type LineChartDataType and represents the data
   * used to generate the chart. The colors property is an array of strings that represents the colors
   * to be used for the chart.
   * @param {ScaleRecordType} previousOutput - The `previousOutput` parameter is of type
   * `ScaleRecordType` and is the output of the previous step in the chart rendering process. It
   * contains the x and y scales that were calculated in the previous step and are used in this step to
   * generate the positions for the chart path.
   * @returns {ChartPathOptions} A `ChartPathOptions` object is being returned, which contains an array of `positions`
   * generated using the `pathPositionGenerator` and the `xScale` and `yScale` scales from the
   * `previousOutput`, as well as the `colors` from the `dataSource`.
   */
  process(input: ChartOptions<LineChartDataType>, previousOutput: ScaleRecordType): ChartPathOptions;
  /**
   * convert array to array[], convert x,y position to relative position
   *
   * @param {LineChartDataType['dataSource']} originData origin line data source
   * @param {AxisScale<AxisDomain>} xScale x scale
   * @param {AxisScale<AxisDomain>} yScale y scale
   * @returns {ChartPosition[][]} x,y relative position
   */
  private getPathPositions;
}
export {};
