import type { WithNormalizedProps } from "../../global";
interface SeriesItem extends Highcharts.PlotBarDataSortingOptions, Omit<Highcharts.SeriesBarOptions, "dataLabels" | "pointRange"> {
    top?: boolean;
    bottom?: boolean;
    group?: string;
}
interface BarChartInput extends Omit<Marko.HTML.Div, `on${string}` | "title"> {
    title: Highcharts.TitleOptions["text"];
    description?: Highcharts.SeriesOptionsType["description"];
    "x-axis-label-format"?: Highcharts.XAxisLabelsOptions["format"];
    "x-axis-positioner"?: Highcharts.XAxisOptions["tickPositioner"];
    "y-axis-labels"?: Highcharts.YAxisLabelsOptions["format"][];
    "y-axis-positioner"?: Highcharts.YAxisOptions["tickPositioner"];
    series: SeriesItem | SeriesItem[];
    "cdn-highcharts"?: string;
    "cdn-highcharts-accessibility"?: string;
    "cdn-highcharts-pattern-fill"?: string;
    version?: string;
    stacked?: boolean;
}
export interface Input extends WithNormalizedProps<BarChartInput> {
}
declare class BarChart extends Marko.Component<Input> {
    chartRef: Highcharts.Chart;
    chart: Highcharts.Chart;
    series: Highcharts.Series;
    onInput(): void;
    onMount(): void;
    handleError(err: Error): void;
    handleSuccess(): void;
    getContainerId(): string;
    _initializeHighchartsExtensions(): void;
    _setupCharts(): void;
    getChartConfig(): Highcharts.ChartOptions;
    getXAxisConfig(): Highcharts.XAxisOptions;
    getYAxisConfig(series: SeriesItem[]): Highcharts.YAxisOptions;
    getLegendConfig(): Highcharts.LegendOptions;
    tooltipFormatter(): (this: any) => string;
    tooltipPositioner(labelWidth: number, labelHeight: number): {
        x: number;
        y: number;
    };
    getTooltipConfig(): Highcharts.TooltipOptions;
    legendItemClick(): (this: any) => void;
    handleMouseOver(): (this: Highcharts.Point) => void;
    handleMouseOut(): void;
    getPlotOptionsConfig(): Highcharts.PlotOptions;
    onDestroy(): void;
}
export default BarChart;
