import { Color } from 'chart.js';
import { BaseChartBuilder } from './base-chart-builder';
import { ColorPallete } from './models/color-pallete';
import { GroupingType } from './models/grouping-type';
import { CartesianScaleBuilder } from './secondary/cartesian-scale-builder';
import { HistogramDataBuilder } from './secondary/histogram-data-builder';
import { LinearCategoryDataBuilder } from './secondary/linear-category-data-builder';
import { LinearDatasetBuilder } from './secondary/linear-dataset-builder';
import { LinearDateDataBuilder } from './secondary/linear-date-data-builder';
export declare function CreateLinearChart<TData>(data: TData[]): LinearChartBuilder<TData>;
export declare class LinearChartBuilder<TData> extends BaseChartBuilder<LinearChartBuilder<TData>, TData> {
    protected that: this;
    constructor(originalData: TData[]);
    prepareLinearDateData(type: GroupingType): LinearDateDataBuilder<LinearChartBuilder<TData>, TData>;
    prepareLinearCategoryData(): LinearCategoryDataBuilder<LinearChartBuilder<TData>, TData>;
    prepareHistogramData(intervalCount: number): HistogramDataBuilder<LinearChartBuilder<TData>, TData>;
    setupDataset(datasetId: string): LinearDatasetBuilder<LinearChartBuilder<TData>, TData>;
    setupDatasets(): LinearDatasetBuilder<LinearChartBuilder<TData>, TData>;
    theme(palletes: ColorPallete[], backgroundTransparency?: string): LinearChartBuilder<TData>;
    colors(colors: Color[], backgroundTransparency?: string): LinearChartBuilder<TData>;
    withXAxis(axisId: string): CartesianScaleBuilder<LinearChartBuilder<TData>, TData>;
    withYAxis(axisId: string): CartesianScaleBuilder<LinearChartBuilder<TData>, TData>;
    withAxis(axisId: string): CartesianScaleBuilder<LinearChartBuilder<TData>, TData>;
    reorderCategoriesWithExpression(expression: (x: any[]) => any): LinearChartBuilder<TData>;
    reorderCategories(orderedCategories: string[]): LinearChartBuilder<TData>;
    setColors(pallete: ColorPallete, indices: number[]): LinearChartBuilder<TData>;
}
