import React from 'react';
import { LocaleInfo } from './utilities/formatTimestamp';
import { EventAnnotation, EventAnnotationConfig } from './EventAnnotations';
import { CursorState } from './cursorPlugin';
import { PlotUtilities } from './renderers/types';
import { VizTheme } from './theme';
import { GenericDataSet, ScaleConfig, SeriesConfig } from './types';
export type TooltipProps = {
    plotUtilities: PlotUtilities;
    cursorState: CursorState;
    data: GenericDataSet;
    seriesConfig: SeriesConfig;
    scaleConfig: ScaleConfig;
    direction: 'right' | 'left';
    chartTitle?: string;
    xAxisResolution?: number;
    userLocale?: LocaleInfo;
    hideTooltipSeriesLabel?: boolean;
    isTimeSeries?: boolean;
    rawXaxisValues?: (string | number | null)[];
};
export type Tooltip = React.ComponentType<TooltipProps>;
type TooltipLabelFn = (props: TooltipProps) => React.ReactNode;
type BasicValueTooltipProps = TooltipProps & {
    tooltipLabelComponent?: React.ReactNode;
    precomponent?: React.ReactNode | TooltipLabelFn;
};
export declare const BasicMultiValueTooltip: React.FC<BasicValueTooltipProps>;
type BasicValueTooltipFactoryProps = {
    precomponent: React.ReactNode | TooltipLabelFn;
    tooltipLabelComponent?: React.ReactNode;
};
export declare const BasicMultiValueTooltipFactory: (props: BasicValueTooltipFactoryProps) => React.FC<BasicValueTooltipProps>;
export declare const BasicSingleValueTooltip: React.FC<BasicValueTooltipProps>;
type TooltipOutsideChartProps = {
    plotUtilities?: PlotUtilities;
    cursorState?: CursorState;
    data: GenericDataSet;
    seriesConfig?: SeriesConfig;
    scaleConfig?: ScaleConfig;
    userLocale?: LocaleInfo;
    eventAnnotationCursorState?: EventAnnotation;
    isTimeSeries?: boolean;
    rawXaxisValues?: (string | number | null)[];
};
export declare const TooltipOutsideChart: React.FC<TooltipOutsideChartProps>;
export declare const BasicSingleValueTooltipFactory: (props: BasicValueTooltipFactoryProps) => React.FC<BasicValueTooltipProps>;
export type EventAnnotationTooltipProps = {
    eventAnnotationCursorState: EventAnnotation;
    eventAnnotationConfig?: EventAnnotationConfig;
    direction: 'right' | 'left';
    theme: VizTheme;
    userLocale?: LocaleInfo;
};
export type EventAnnotationTooltip = React.ComponentType<EventAnnotationTooltipProps>;
type DataSeriesTooltipContainerProps = {
    cursorState?: CursorState;
    data?: GenericDataSet;
    plotUtilities?: PlotUtilities;
    seriesConfig?: SeriesConfig;
    scaleConfig?: ScaleConfig;
    tooltip?: React.FunctionComponent<TooltipProps> | React.ComponentClass<TooltipProps>;
    chartTitle?: string;
    xAxisResolution?: number;
    userLocale?: LocaleInfo;
    hideTooltipSeriesLabel?: boolean;
    showTooltipOutsideChart?: boolean;
    isTimeSeries?: boolean;
    rawXaxisValues?: (string | number | null)[];
};
export declare const DataSeriesTooltipContainer: React.FC<DataSeriesTooltipContainerProps>;
type EventAnnotationTooltipContainerProps = {
    plotUtilities?: PlotUtilities;
    eventAnnotationCursorState?: EventAnnotation;
    eventAnnotationConfig?: EventAnnotationConfig;
    eventAnnotationTooltip?: EventAnnotationTooltip;
    showTooltipOutsideChart?: boolean;
    userLocale?: LocaleInfo;
};
export declare const EventAnnotationTooltipContainer: React.FC<EventAnnotationTooltipContainerProps>;
type TooltipContainerProps = {
    plotUtilities?: PlotUtilities;
    tooltip?: false | Tooltip;
    cursorState: CursorState;
    data: GenericDataSet;
    seriesConfig?: SeriesConfig;
    scaleConfig?: ScaleConfig;
    eventAnnotationCursorState?: EventAnnotation;
    eventAnnotationConfig?: EventAnnotationConfig;
    eventAnnotationTooltip?: EventAnnotationTooltip;
    chartTitle?: string;
    xAxisResolution?: number;
    userLocale?: LocaleInfo;
    hideTooltipSeriesLabel?: boolean;
    showTooltipOutsideChart?: boolean;
    isTimeSeries?: boolean;
    rawXaxisValues?: (string | number | null)[];
};
export declare const TooltipContainer: React.FC<TooltipContainerProps>;
export {};
