import { ChartOptions } from '../../types/vega-chart';
import { BaseChart } from './base-chart';
import { BaseDrawer } from './drawers/base-drawer';
import { BaseRenderer } from './renderers/base-renderer';
import { LineChartDataType } from '../../types/vega-chart';
import { BaseInteractor } from './interactors/base-interactor';
export declare type LineChartOptionsType = Partial<Omit<ChartOptions<LineChartDataType>, 'container'>>;
/**
 * The LineChart class is a TypeScript implementation of a line chart that extends the BaseChart class
 * and includes methods for creating a drawer chain
 */
export declare class LineChart extends BaseChart<LineChartDataType> {
  private readonly layoutInputProcessor;
  private readonly lineDataSourceInputProcessorChain;
  private readonly xAxisInputProcessorChain;
  private readonly yAxisInputProcessorChain;
  private readonly legendInputProcessorChain;
  private readonly linePathInputProcessor;
  /**
   * This function creates an array of BaseDrawer objects for rendering a chart with axes, legends, and paths.
   *
   * @param {BaseRenderer<SVGElement | HTMLCanvasElement>} renderer - an instance of a BaseRenderer class that can render SVG or Canvas elements.
   * @param {BaseInteractor<SVGElement | HTMLCanvasElement>} interactor - an instance of a BaseInteractor class.
   * @returns {BaseDrawer<unknown>[]} An array of BaseDrawer array.
   */
  createDrawerChain(renderer: BaseRenderer<SVGElement | HTMLCanvasElement>, interactor: BaseInteractor<SVGElement | HTMLCanvasElement>): BaseDrawer<unknown>[];
}
