import { Component } from "./Component-8ea21f2e";
import { ChartOptions } from "./ChartOptions-23377755";
import { TooltipMeasureFormat } from "./Enums-c244dc9e";
import { ChartComponentData } from "./ChartComponentData-cfbea0e5";
import { TemporalXAxisComponent } from "./TemporalXAxisComponent-852ce075";
declare class Marker extends Component {
    //DOM components
    private markerContainer;
    private timeLabel;
    private closeButton;
    private markerLabel;
    private x;
    private timestampMillis;
    private chartHeight;
    private chartMargins;
    private chartComponentData;
    private marginLeft;
    private colorMap;
    private yMap;
    onChange: any;
    private tooltipMap;
    private guid;
    private labelText;
    private markerIsDragging;
    private timeFormat;
    private isSeriesLabels;
    readonly ADDITIONALRIGHTSIDEOVERHANG = 12;
    constructor(renderTarget: any);
    getGuid(): string;
    setMillis(millis: number): void;
    getMillis(): number;
    // returns whether the string was trimmed to the max length
    setLabelText(labelText: string): boolean;
    getLabelText(): string;
    private setSeriesLabelText;
    protected tooltipFormat(d: any, text: any, measureFormat: TooltipMeasureFormat, xyrMeasures?: any, isSeriesLabelInFocus?: boolean): void;
    private getLeft;
    // check to see if any marker is being dragged
    private isMarkerDragOccuring;
    private bumpMarker;
    private renderMarker;
    private getValueOfVisible;
    private getTooltipKey;
    private findYatX;
    private positionToValue;
    private bisectionInterpolateValue;
    private getPath;
    private createNewDatum;
    private findGapPath;
    //check if a value is within the time constrained bounds of a path
    private inBounds;
    private getIntersectingPath;
    private interpolateValue;
    private getValuesAtTime;
    private setValueLabels;
    private calcTopOfValueLabel;
    private getTimeFormat;
    private setTimeLabel;
    focusCloseButton(): void;
    isMarkerInRange(millis?: number): boolean;
    destroyMarker(): void;
    render(timestampMillis: number, chartOptions: ChartOptions, chartComponentData: any, additionalMarkerFields: {
        chartMargins: any;
        x: any;
        marginLeft: number;
        colorMap: any;
        yMap: any;
        onChange: any;
        isDropping: boolean;
        chartHeight: number;
        labelText: string;
        isSeriesLabels: boolean;
    }): void;
    setPositionsAndLabels(millis: number): void;
}
declare class AxisState {
    axisType: any;
    yExtent: [
        number,
        number
    ];
    positionInGroup: number;
    constructor(axisType: any, yExtent: [
        number,
        number
    ], positionInGroup: number);
}
declare class Plot extends Component {
    protected chartHeight: any;
    protected x: any;
    protected chartDataOptions: any;
    protected chartComponentData: any;
    protected yTop: any;
    protected height: any;
    protected aggregateGroup: any;
    protected backdropRect: any;
    protected plotDataType: string;
    constructor(renderTarget: Element);
    protected getVisibleSeries(aggKey: any): string[];
    protected createGradientKey(d: any, splitByIndex: any, i: any): string;
    protected addGradientStops(d: any, gradient: any): void;
    protected createBackdropRect(isVisible: any): void;
    protected getColorForValue(value: any): any;
    protected getVisibleMeasures(measures: any): string[];
    protected hasData(d: any): boolean;
}
declare class EventsPlot extends Plot {
    private defs;
    private hoverLine;
    private chartGroup;
    private discreteEventsMouseover;
    private discreteEventsMouseout;
    private splitBysGroup;
    private eventHeight;
    private gradientData;
    private aggKey;
    private gradientArray;
    constructor(svgSelection: any);
    private onMouseover;
    private onMouseout;
    private createHoverLine;
    private setEventHeight;
    private eventOnClick;
    private colorFunction;
    private createDateStringFunction;
    private createEventElements;
    private shouldDrawBackdrop;
    render(chartOptions: any, visibleAggI: any, agg: any, aggVisible: boolean, aggregateGroup: any, chartComponentData: any, yExtent: any, chartHeight: any, visibleAggCount: any, colorMap: any, previousAggregateData: any, x: any, areaPath: any, strokeOpacity: any, y: any, yMap: any, defs: any, chartDataOptions: any, previousIncludeDots: any, yTopAndHeight: any, chartGroup: any, discreteEventsMouseover: any, discreteEventsMouseout: any): void;
}
declare class CategoricalPlot extends Plot {
    private defs;
    private hoverRect;
    private chartGroup;
    private categoricalMouseover;
    private categoricalMouseout;
    private splitBysGroup;
    constructor(svgSelection: any);
    private onMouseover;
    private onMouseout;
    private createHoverRect;
    private getSeriesEndDate;
    private getBucketEndDate;
    render(chartOptions: any, visibleAggI: any, agg: any, aggVisible: boolean, aggregateGroup: any, chartComponentData: any, yExtent: any, chartHeight: any, visibleAggCount: any, colorMap: any, previousAggregateData: any, x: any, areaPath: any, strokeOpacity: any, y: any, yMap: any, defs: any, chartDataOptions: any, previousIncludeDots: any, yTopAndHeight: any, chartGroup: any, categoricalMouseover: any, categoricalMouseout: any): void;
}
declare class LinePlot extends Plot {
    private defs;
    private chartWidth;
    private y;
    private visibleAggCount;
    private strokeOpacity;
    private previousIncludeDots;
    private areaPath;
    private yAxisState;
    constructor(svgSelection: any);
    private getXPosition;
    private createAreaPath;
    // returns the next visibleAggI
    render(chartOptions: any, visibleAggI: any, agg: any, aggVisible: boolean, aggregateGroup: any, chartComponentData: any, yAxisState: AxisState, chartHeight: any, visibleAggCount: any, colorMap: any, previousAggregateData: any, x: any, areaPath: any, strokeOpacity: any, y: any, yMap: any, defs: any, chartDataOptions: any, previousIncludeDots: any, yTopAndHeight: any, svgSelection: any, categoricalMouseover: any, categoricalMouseout: any, yAxisOnClick: any): void;
}
declare class LineChartData extends ChartComponentData {
    timeMap: any;
    get yExtents(): Array<any>;
    private _yExtents;
    setYExtents(idx: number, value: [
        number,
        number
    ]): void;
    resetYExtents(): void;
    setTimeMap(): void;
    constructor();
    mergeDataToDisplayStateAndTimeArrays(data: any, aggregateExpressionOptions?: any): void;
}
declare function interpolatePath(a: string, b: string): (t: any) => any;
declare var __esModule: boolean;
declare class LineChart extends TemporalXAxisComponent {
    private targetElement;
    private focus;
    private horizontalValueBox;
    private verticalValueBox;
    private horizontalValueBar;
    private contextMenu;
    private brushContextMenu;
    private setDisplayStateFromData;
    private minBrushWidth;
    private strokeOpacity;
    private nonFocusStrokeOpactiy;
    chartComponentData: LineChartData;
    private surpressBrushTimeSet;
    private hasStackedButton;
    private stackedButton;
    private visibleAggCount;
    private swimLaneLabelGroup;
    private horizontalLabelOffset;
    private tooltip;
    private height;
    private xLowerBound;
    private xUpperBound;
    private y;
    private yMap;
    private line;
    private areaPath;
    private envelope;
    private voronoi;
    private possibleTimesArray;
    private colorMap;
    private markers;
    private seriesLabelsMarker;
    private markerGuidMap;
    private isDroppingMarker;
    private activeMarker;
    private brush;
    private brushElem;
    brushStartTime: Date;
    brushEndTime: Date;
    private brushStartPosition;
    private brushEndPosition;
    private hasBrush;
    private isClearingBrush;
    private previousAggregateData;
    private previousIncludeDots;
    private voronoiDiagram;
    private voronoiRegion;
    private mx;
    private my;
    private focusedAggKey;
    private focusedSplitby;
    private plotComponents;
    private isFirstMarkerDrop;
    private xOffset;
    private swimlaneYExtents;
    private swimLaneContents;
    private originalSwimLanes;
    private originalSwimLaneOptions;
    constructor(renderTarget: Element);
    LineChart(): void;
    //get the left and right positions of the brush
    getBrushPositions(): {
        leftPos: any;
        rightPos: any;
    };
    private resetValueElementsFocus;
    private hideFocusElements;
    private voronoiMouseout;
    private createMarkerInstructions;
    private destroyMarkerInstructions;
    triggerLineFocus: (aggKey: string, splitBy: string) => void;
    private getMouseoverFunction;
    private getMouseoutFunction;
    private focusOnlyHoveredSeries;
    private discreteEventsMouseover;
    private discreteEventsMouseout;
    private mismatchingChartType;
    private categoricalMouseover;
    private categoricalMouseout;
    private setHorizontalValuePosAndText;
    private setVerticalValueAndPosition;
    private voronoiMouseover;
    //get the extent of an array of timeValues
    private getYExtent;
    private getFilteredValues;
    private getFilteredAndSticky;
    stickyOrUnstickySeries: (aggKey: any, splitBy: any) => void;
    unstickySeries: (aggKey: any, splitby?: any) => void;
    private stickySeries;
    private getHandleHeight;
    private getXPosition;
    setBrushStartTime(startTime: any): void;
    setBrushEndTime(endTime: any): void;
    setBrush(): void;
    private findClosestValidTime;
    private getMarkerMarginLeft;
    exportMarkers(): void;
    private createOnMarkerChange;
    private renderMarker;
    private sortMarkers;
    private getAllLinesTransitionsComplete;
    private importMarkers;
    private createSeriesLabelsMarker;
    private renderSeriesLabelsMarker;
    private renderAllMarkers;
    private focusOnEllipsis;
    private filteredValueExist;
    addMarker: () => void;
    private voronoiExists;
    private voronoiMousemove;
    private voronoiContextMenu;
    private voronoiClick;
    private getValueOfVisible;
    private brushBrush;
    private brushEnd;
    private focusMarkerLabel;
    labelMouseout: () => void;
    labelMouseover: (aggregateKey: string, splitBy?: string) => void;
    private drawBrushRange;
    private getSVGLeftOffset;
    updateBrushRange(): void;
    deleteBrushRange(): void;
    getYExtents(): any[];
    private nextStackedState;
    private clearBrush;
    private getVisibleNumerics;
    private getSwimlaneOffsets;
    private setSwimLaneYExtents;
    private getEventsCollapsedSwimlaneHeight;
    //returns an array of tuples of y offset and height for each visible aggregate group
    private createYOffsets;
    private heightNonNumeric;
    private getGroupYExtent;
    private getAggAxisType;
    private adjustSwimLanes;
    private overwriteSwimLanes;
    private createSwimlaneLabels;
    render(data: any, options: any, aggregateExpressionOptions: any): void;
    private createPlot;
}
export { Marker as default, AxisState, LineChartData, interpolatePath, __esModule };
