/// <reference types="react" />
import { OrientationTypes, StringOrNumberOrCallback } from 'victory-core';
import { ChartLegendProps } from '../ChartLegend';
import { ChartThemeDefinition } from '../ChartTheme';
interface ChartCursorTooltipCenterOffsetInterface {
    offsetCursorDimensionX?: boolean;
    offsetCursorDimensionY?: boolean;
    theme?: ChartThemeDefinition;
}
interface ChartCursorTooltipPoniterOrientationInterface {
    horizontal?: boolean;
    theme?: ChartThemeDefinition;
}
interface ChartLegendTooltipFlyoutInterface {
    legendData: any;
    legendOrientation?: 'horizontal' | 'vertical';
    legendProps?: any;
    text?: StringOrNumberOrCallback | string[] | number[];
    theme: ChartThemeDefinition;
}
interface ChartLegendTooltipVisibleDataInterface {
    activePoints?: any[];
    colorScale?: string[];
    legendData: any;
    patternScale?: string[];
    text?: StringOrNumberOrCallback | string[] | number[];
    textAsLegendData?: boolean;
    theme: ChartThemeDefinition;
}
interface ChartLegendTooltipVisibleTextInterface {
    activePoints?: any[];
    legendData: any;
    text: StringOrNumberOrCallback | string[] | number[];
}
/**
 * When using a cursor container, the tooltip can be offset from the cursor point. If offsetCursorDimensionX is true,
 * the tooltip will appear to the right the vertical cursor. If offsetCursorDimensionY is true, the tooltip will appear
 * above the vertical cursor.
 * @private
 */
export declare const getCursorTooltipCenterOffset: ({ offsetCursorDimensionX, offsetCursorDimensionY, theme }: ChartCursorTooltipCenterOffsetInterface) => {
    x: number | (({ center, flyoutWidth, width }: any) => any);
    y: number | (({ center, flyoutHeight, width }: any) => any);
};
/**
 * When using a cursor container, the tooltip pointer orientation can be adjusted as the cursor approaches the edge of
 * the chart. If horizontal is true, the tooltip pointer will either be 'left' or 'right'. If horizontal is true, the
 * tooltip pointer will either be 'top' or 'bottom'.
 * @private
 */
export declare const getCursorTooltipPoniterOrientation: ({ horizontal, theme }: ChartCursorTooltipPoniterOrientationInterface) => (props: any) => OrientationTypes;
/**
 * Returns props associated with legend data
 * @private
 */
export declare const getLegendTooltipDataProps: (defaultProps: ChartLegendProps) => {
    borderPadding: number;
    gutter: number;
    orientation: string;
    padding: number;
    rowGutter: number;
    style: {
        labels: {
            fill: any;
            lineHeight: number;
            padding: number;
        };
        title: {
            fill: any;
            padding: number;
        };
    };
} & {
    borderComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    borderPadding?: import("victory-core").PaddingProps;
    centerTitle?: boolean;
    colorScale?: string[];
    containerComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    data?: {
        name?: string;
        labels?: {
            fill?: string;
        };
        symbol?: {
            fill?: string;
            type?: string;
        };
    }[];
    dataComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    eventKey?: StringOrNumberOrCallback | string[];
    events?: import("victory-core").EventPropTypeInterface<import("victory-legend").VictoryLegendTTargetType, StringOrNumberOrCallback>[];
    externalEventMutations?: import("victory-core").EventCallbackInterface<string | string[], import("victory-core").StringOrNumberOrList>[];
    groupComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    gutter?: number | {
        left: number;
        right: number;
    };
    itemsPerRow?: number;
    labelComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    name?: string;
    orientation?: import("victory-legend").VictoryLegendOrientationType;
    padding?: import("victory-core").PaddingProps;
    patternScale?: string[];
    responsive?: boolean;
    rowGutter?: number | Omit<import("victory-core").BlockProps, "left" | "right">;
    sharedEvents?: {
        events: any[];
        getEventState: Function;
    };
    standalone?: boolean;
    style?: import("victory-core").VictoryStyleInterface & {
        title?: import("victory-core").VictoryLabelStyleObject | import("victory-core").VictoryLabelStyleObject[];
    };
    symbolSpacer?: number;
    theme?: import("../ChartTheme").ChartThemeDefinitionInterface;
    themeColor?: string;
    themeVariant?: string;
    title?: string | string[];
    titleComponent?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    titleOrientation?: OrientationTypes;
    width?: number;
    x?: number;
    y?: number;
    animate?: boolean | import("victory-core").AnimatePropTypeInterface;
    domainPadding?: import("victory-core").ForAxes<import("victory-core").PaddingType>;
    height?: number;
    horizontal?: boolean;
    maxDomain?: number | {
        x?: number;
        y?: number;
    };
    minDomain?: number | {
        x?: number;
        y?: number;
    };
    origin?: import("victory-core").OriginType;
    polar?: boolean;
    range?: import("victory-core").ForAxes<import("victory-core").RangeTuple>;
    scale?: import("victory-core").ScaleName | import("victory-core").D3Scale<any> | {
        x?: import("victory-core").ScaleName | import("victory-core").D3Scale<any>;
        y?: import("victory-core").ScaleName | import("victory-core").D3Scale<any>;
    };
    singleQuadrantDomainPadding?: boolean | {
        x?: boolean;
        y?: boolean;
    };
    categories?: import("victory-core").CategoryPropType;
    domain?: import("victory-core").ForAxes<import("victory-core").DomainTuple>;
    samples?: number;
    sortKey?: import("victory-core").DataGetterPropType;
    sortOrder?: import("victory-core").SortOrderPropType;
    y0?: import("victory-core").DataGetterPropType;
    label?: string | ((data: any) => string | number);
};
/**
 * Returns the legend height and width
 * @private
 */
export declare const getLegendTooltipSize: ({ legendData, legendOrientation, legendProps, text, theme }: ChartLegendTooltipFlyoutInterface) => {
    height: any;
    width: any;
};
/**
 * Returns visible legend data, while syncing color scale. If textAsLegendData is true, the text prop is used as
 * legend data so y values can be passed individually to the label component
 * @private
 */
export declare const getLegendTooltipVisibleData: ({ activePoints, colorScale, legendData, patternScale, text, textAsLegendData, theme }: ChartLegendTooltipVisibleDataInterface) => {
    name: any;
    symbol: any;
}[];
/**
 * Returns visible text for interactive legends
 * @private
 */
export declare const getLegendTooltipVisibleText: ({ activePoints, legendData, text }: ChartLegendTooltipVisibleTextInterface) => any[];
export {};
//# sourceMappingURL=chart-tooltip.d.ts.map