import { Y as YAxisStates, T as TooltipMeasureFormat } from './Enums-8f0d4a61';
import { H as HorizontalMarker } from './Interfaces-a66857ee';

declare class Strings {
    private stringValueDefaults;
    private stringValues;
    constructor();
    mergeStrings(stringKeyValues: any): void;
    getString(stringKey: string): any;
    toObject(): any;
}

interface swimLaneOption {
    yAxisType: YAxisStates;
    label?: string;
    onClick?: (lane: number) => any;
    collapseEvents?: string;
    horizontalMarkers?: Array<HorizontalMarker>;
}
declare class ChartOptions {
    aggTopMargin: number;
    arcWidthRatio: number;
    autoTriggerBrushContextMenu: boolean;
    availabilityLeftMargin: number;
    bucketSizeMillis: number;
    brushClearable: boolean;
    brushContextMenuActions: Array<any>;
    brushHandlesVisible: boolean;
    brushMoveAction: any;
    brushMoveEndAction: any;
    brushRangeVisible: boolean;
    canDownload: boolean;
    color: string;
    colors: Array<string>;
    dateLocale: string;
    defaultAvailabilityZoomRangeMillis: number;
    defaultColor: any;
    dTPIsModal: boolean;
    ellipsisItems: Array<any>;
    focusHidden: boolean;
    fromChart: boolean;
    grid: boolean;
    hideChartControlPanel: boolean;
    includeDots: boolean;
    includeEnvelope: boolean;
    includeTimezones: boolean;
    initialValue: any;
    interpolationFunction: any;
    isArea: boolean;
    isColorValueHidden: boolean;
    isCompact: boolean;
    isTemporal: boolean;
    is24HourTime: boolean;
    keepBrush: boolean;
    keepSplitByColor: boolean;
    labelSeriesWithMarker: boolean;
    legend: string;
    markers: Array<any>;
    maxBuckets: number;
    minBrushWidth: number;
    minutesForTimeLabels: boolean;
    noAnimate: boolean;
    numberOfColors: number;
    updateInterval: number;
    offset: any;
    onClick: (d3Event: any) => void;
    onInput: (searchText: string, event: any) => void;
    onInstanceClick: (instance: any) => any;
    onKeydown: (d3Event: any, awesompleteObject: any) => void;
    onMarkersChange: (markers: Array<number>) => any;
    onMouseout: () => void;
    onMouseover: (aggKey: string, splitBy: string) => void;
    onSelect: (value: any) => void;
    onSticky: (aggKey: string, splitBy: string) => void;
    onUnsticky: (aggKey: string, splitBy: string) => void;
    preserveAvailabilityState: boolean;
    persistDateTimeButtonRange: boolean;
    scaledToCurrentTime: boolean;
    spMeasures: Array<string>;
    scatterPlotRadius: Array<number>;
    spAxisLabels: Array<string>;
    singleLineXAxisLabel: boolean;
    snapBrush: boolean;
    stacked: boolean;
    shouldSticky: boolean;
    strings: any;
    suppressResizeListener: boolean;
    swimLaneOptions: {
        [key: number]: swimLaneOption;
    } | null;
    theme: string;
    timeFrame: any;
    timestamp: any;
    tooltip: boolean;
    throttleSlider: boolean;
    warmStoreRange: Array<string>;
    xAxisHidden: boolean;
    xAxisTimeFormat: (d: any, i: any, isFirst: any, isLast: any) => {};
    yAxisHidden: boolean;
    yAxisState: string;
    yExtent: any;
    zeroYAxis: boolean;
    withContextMenu: boolean;
    hierarchyOptions: any;
    onError: (titleKey: any, messageKey: any, xhr: any) => any;
    timeSeriesIdProperties: Array<{
        name: string;
        type: any;
    }>;
    stringsInstance: Strings;
    private getInterpolationFunction;
    setOptions(chartOptionsObj: any): void;
    private mergeStrings;
    private mergeValue;
    toObject(): {
        grid: boolean;
        preserveAvailabilityState: boolean;
        persistDateTimeButtonRange: boolean;
        isCompact: boolean;
        keepBrush: boolean;
        isArea: boolean;
        noAnimate: boolean;
        minutesForTimeLabels: boolean;
        aggTopMargin: number;
        color: string;
        maxBuckets: number;
        yAxisHidden: boolean;
        focusHidden: boolean;
        singleLineXAxisLabel: boolean;
        legend: string;
        tooltip: boolean;
        throttleSlider: boolean;
        snapBrush: boolean;
        minBrushWidth: number;
        theme: string;
        keepSplitByColor: boolean;
        brushContextMenuActions: any[];
        timeFrame: any;
        fromChart: boolean;
        timestamp: any;
        stacked: boolean;
        scaledToCurrentTime: boolean;
        zeroYAxis: boolean;
        arcWidthRatio: number;
        brushClearable: boolean;
        brushMoveAction: any;
        yAxisState: string;
        xAxisHidden: boolean;
        suppressResizeListener: boolean;
        brushMoveEndAction: any;
        onMouseout: () => void;
        onMouseover: (aggKey: string, splitBy: string) => void;
        onSticky: (aggKey: string, splitBy: string) => void;
        onUnsticky: (aggKey: string, splitBy: string) => void;
        onKeydown: (d3Event: any, awesompleteObject: any) => void;
        onInput: (searchText: string, event: any) => void;
        brushHandlesVisible: boolean;
        hideChartControlPanel: boolean;
        offset: any;
        is24HourTime: () => boolean;
        includeTimezones: boolean;
        availabilityLeftMargin: number;
        onInstanceClick: (instance: any) => any;
        interpolationFunction: any;
        includeEnvelope: boolean;
        canDownload: boolean;
        withContextMenu: boolean;
        autoTriggerBrushContextMenu: boolean;
        includeDots: boolean;
        yExtent: any;
        ellipsisItems: any[];
        markers: any[];
        onMarkersChange: (markers: number[]) => any;
        xAxisTimeFormat: (d: any, i: any, isFirst: any, isLast: any) => {};
        spMeasures: string[];
        scatterPlotRadius: number[];
        spAxisLabels: string[];
        brushRangeVisible: boolean;
        strings: any;
        dateLocale: string;
        defaultAvailabilityZoomRangeMillis: number;
        warmStoreRange: string[];
        initialValue: any;
        bucketSizeMillis: number;
        updateInterval: number;
        dTPIsModal: boolean;
        numberOfColors: number;
        defaultColor: any;
        isColorValueHidden: boolean;
        onClick: (d3Event: any) => void;
        onSelect: (value: any) => void;
        colors: string[];
        swimLaneOptions: {
            [key: number]: swimLaneOption;
        };
        hierarchyOptions: any;
        onError: (titleKey: any, messageKey: any, xhr: any) => any;
        labelSeriesWithMarker: boolean;
        timeSeriesIdProperties: {
            name: string;
            type: any;
        }[];
        shouldSticky: boolean;
    };
}

declare class Component {
    renderTarget: any;
    protected currentTheme: string;
    readonly TRANSDURATION: number;
    usesSeconds: boolean;
    usesMillis: boolean;
    protected chartOptions: ChartOptions;
    protected getString(str: string): any;
    constructor(renderTarget: Element);
    protected themify(targetElement: any, theme: string): void;
    protected teardropD: (width: any, height: any) => string;
    protected tooltipFormat(d: any, text: any, measureFormat: TooltipMeasureFormat, xyrMeasures?: any): void;
    protected createTooltipSeriesInfo(d: any, group: any, cDO: any): void;
}

export { Component as C, ChartOptions as a };
