import { AxisDomain, AxisScale, ChartExtend, ChartOptions } from '../../../types/vega-chart';
import { InputProcessor } from './input-processor';
/** The XAxisInputProcessor class generates X-axis options for a line chart based on input data and previous layout results. */
export declare class XAxisLabelFormatterInputProcessor implements InputProcessor<ChartOptions<unknown>, ChartExtend<AxisScale<AxisDomain>>, ChartExtend<AxisScale<AxisDomain>>> {
  private formatMillisecond;
  private formatSecond;
  private formatMinute;
  private formatHour;
  private formatDay;
  private formatWeek;
  private formatMonth;
  private formatYear;
  /**
   * This function checks if the xAxis type is 'time' and sets a tickFormat if a labelFormatter is not provided.
   *
   * @param {ChartOptions<unknown>} input - An object containing chart options, including the type of x-axis and a label
   * formatter function.
   * @param {ChartExtend<AxisScale<AxisDomain>>} previousOutput - `previousOutput` is a parameter that represents the output of the previous
   * step in the charting process. It is of type `ChartExtend<AxisScale<AxisDomain>>`, which is an
   * object that contains information about the chart's axis scales. This parameter is used to update
   * the axis scale information
   * @returns {ChartExtend<AxisScale<AxisDomain>>} a `ChartExtend` object that contains an `AxisScale` object with a tick format function.
   * The tick format function is either the `timeFormatter` function or the previous tick format
   * function if the `xAxisType` is not `'time'`.
   */
  process(input: ChartOptions<unknown>, previousOutput: ChartExtend<AxisScale<AxisDomain>>): ChartExtend<AxisScale<AxisDomain>>;
  /**
   * override the scaleTime default ticks label formatter function
   * The function formats a given date object based on its time interval using a set of predefined format strings.
   *
   * @param {Date} date - The input date that needs to be formatted.
   * @returns {string} A string representing the formatted date based on the input date parameter. The format of
   * the string depends on the time interval between the input date and the current time, and is
   * determined by the conditional statements in the function.
   */
  private timeFormatter;
}
