import { InjectionToken } from '@angular/core';
export declare const ChartColors: {
    Red: string;
    Orange: string;
    Yellow: string;
    Green: string;
    Blue: string;
    Purple: string;
    Grey: string;
    Purple700: string;
    Purple600: string;
    Purple500: string;
    Purple400: string;
    Purple300: string;
    Purple200: string;
    Purple100: string;
    Purple50: string;
    Blue700: string;
    Blue600: string;
    Blue500: string;
    Blue400: string;
    Blue300: string;
    Blue200: string;
    Blue100: string;
    Blue50: string;
    Green700: string;
    Green600: string;
    Green500: string;
    Green400: string;
    Green300: string;
    Green200: string;
    Green100: string;
    Green50: string;
    Yellow700: string;
    Yellow600: string;
    Yellow500: string;
    Yellow400: string;
    Yellow300: string;
    Yellow200: string;
    Yellow100: string;
    Yellow50: string;
    Orange700: string;
    Orange600: string;
    Orange500: string;
    Orange400: string;
    Orange300: string;
    Orange200: string;
    Orange100: string;
    Orange50: string;
    Red700: string;
    Red600: string;
    Red500: string;
    Red400: string;
    Red300: string;
    Red200: string;
    Red100: string;
    Red50: string;
    Brown700: string;
    Brown600: string;
    Brown500: string;
    Brown400: string;
    Brown300: string;
    Brown200: string;
    Brown100: string;
    Brown50: string;
    Gray900: string;
    Gray800: string;
    Gray700: string;
    Gray600: string;
    Gray500: string;
    Gray400: string;
    Gray300: string;
    Gray200: string;
    Gray100: string;
    Gray50: string;
    Platinum700: string;
    Platinum600: string;
    Platinum500: string;
    Platinum400: string;
    Platinum300: string;
    Platinum200: string;
    Platinum100: string;
    Platinum50: string;
    EatsGreen400: string;
    FreightBlue400: string;
    JumpRed400: string;
    Black: string;
    White: string;
};
export declare type SdChartOption = DoughnutChartOption | PieChartOption | BarChartOption | HorizontalBarChartOption | LineChartOption | StackAreaChartOption | BarLineChartOption;
interface BaseChartOption {
    title?: string;
    height?: string;
    hideLegend?: boolean;
    legendPosition?: 'left' | 'right' | 'top' | 'bottom' | 'chartArea';
    tooltips?: {
        label: (params: {
            datasetLabel?: string;
            label?: string;
            value?: number;
            datasetIndex?: number;
            dataIndex?: number;
        }) => string | string[];
    };
}
export interface PieChartOption extends BaseChartOption {
    type: 'pie';
    title?: string;
    datasets: {
        label: string;
        value: number;
        backgroundColor: string;
    }[];
    hover?: 'ShowAll';
}
export interface DoughnutChartOption extends BaseChartOption {
    type: 'doughnut';
    title?: string;
    datasets: {
        label: string;
        value: number;
        backgroundColor: string;
    }[];
    hover?: 'ShowAll';
}
export interface BarChartOption extends BaseChartOption {
    type: 'bar';
    xTitle?: string;
    yTitle?: string;
    labels: string[];
    datasets: {
        label: string;
        data: number[];
        borderColor?: string;
        backgroundColor?: string;
        stack?: string;
    }[];
    beginAtZero?: boolean;
    labelWidth?: number;
    ticks?: {
        xLabel?: (value: number | string, index: number) => string;
        yLabel?: (value: number | string, index: number) => string;
    };
    hover?: 'ShowAll';
}
export interface HorizontalBarChartOption extends BaseChartOption {
    type: 'horizontalBar';
    xTitle?: string;
    yTitle?: string;
    labels: string[];
    datasets: {
        label: string;
        data: number[];
        borderColor?: string;
        backgroundColor?: string;
        stack?: string;
    }[];
    beginAtZero?: boolean;
    labelWidth?: number;
    ticks?: {
        xLabel?: (value: number | string, index: number) => string;
        yLabel?: (value: number | string, index: number) => string;
    };
    hover?: 'ShowAll';
    showTotalStack?: boolean;
}
export interface LineChartOption extends BaseChartOption {
    type: 'line';
    xTitle?: string;
    yTitle?: string;
    labels: string[];
    datasets: {
        label: string;
        data: number[];
        borderColor?: string;
        backgroundColor?: string;
    }[];
    beginAtZero?: boolean;
    labelWidth?: number;
    ticks?: {
        xLabel?: (value: number | string, index: number) => string;
        yLabel?: (value: number | string, index: number) => string;
    };
    hover?: 'ShowAll';
}
export interface StackAreaChartOption extends BaseChartOption {
    type: 'stackArea';
    xTitle?: string;
    yTitle?: string;
    labels: string[];
    datasets: {
        label: string;
        data: number[];
        borderColor?: string;
        backgroundColor?: string;
    }[];
    beginAtZero?: boolean;
    labelWidth?: number;
    ticks?: {
        xLabel?: (value: number | string, index: number) => string;
        yLabel?: (value: number | string, index: number) => string;
    };
    hover?: 'ShowAll';
}
export interface BarLineChartOption extends BaseChartOption {
    type: 'barline';
    xTitle?: string;
    xStacked?: boolean;
    yTitle?: string;
    yStacked?: boolean;
    yRightTitle?: string;
    labels: string[];
    datasets: {
        type: 'bar' | 'line';
        yAlign?: 'left' | 'right';
        label: string;
        data: number[];
        order?: number;
        borderColor?: string;
        backgroundColor?: string;
    }[];
    beginAtZero?: boolean;
    labelWidth?: number;
    ticks?: {
        xLabel?: (value: number | string, index: number) => string;
        yLabel?: (value: number | string, index: number) => string;
        yRightLabel?: (value: number | string, index: number) => string;
    };
    hover?: 'ShowAll';
    showTotalStack?: boolean;
}
export interface IChartConfiguration {
    defaultColors?: {
        backgroundColor?: string;
        borderColor?: string;
    }[];
}
export declare const CHART_CONFIG: InjectionToken<IChartConfiguration>;
export {};
