import type { WithNormalizedProps } from "../../global";
interface SeriesLineOptions {
    data: Highcharts.PointOptionsObject[];
    type: "line";
    marker?: Highcharts.PointMarkerOptionsObject;
}
interface LineChartInput extends Omit<Marko.HTML.Div, `on${string}` | "title"> {
    title?: Highcharts.TitleOptions["text"];
    description?: string;
    "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"];
    "plot-points"?: boolean;
    "cdn-highcharts"?: string;
    "cdn-highcharts-accessibility"?: string;
    version?: string;
    series: SeriesLineOptions | SeriesLineOptions[];
    renderTooltipOutside?: boolean;
    trend?: "positive" | "negative" | "neutral";
}
export interface Input extends WithNormalizedProps<LineChartInput> {
}
declare class LineChart extends Marko.Component<Input> {
    axisTicksLength: number;
    chartRef: Highcharts.Chart;
    tickValues: number[];
    onCreate(): void;
    handleError(err: Error): void;
    handleSuccess(): void;
    onMount(): void;
    onInput(input: Input): void;
    getContainerId(): string;
    _setupChart(): void;
    getSymbol(index: number): "circle" | "diamond" | "square" | "triangle" | "triangle-down";
    getChartConfig(): Highcharts.ChartOptions;
    getXAxisConfig(): Highcharts.XAxisOptions;
    getYAxisConfig(series: SeriesLineOptions[]): Highcharts.YAxisOptions;
    getLegendConfig(): Highcharts.LegendOptions;
    getTooltipConfig(): Highcharts.TooltipOptions & {
        crosshair: Highcharts.AxisCrosshairOptions;
    };
    getPlotOptionsConfig(series: SeriesLineOptions[]): Highcharts.PlotOptions;
    handleMouseOut(): void;
    handleMouseOver(e: any): void;
    updateMarkers(e?: number | boolean): void;
    onDestroy(): void;
}
export default LineChart;
