import type { TRolloverTooltipDataTemplate } from "../../../ChartModifiers/RolloverModifier";
import type { SeriesInfo } from "../../../Model/ChartData/SeriesInfo";
import type { RolloverMarkerSvgAnnotation } from "../../Annotations/RolloverMarkerSvgAnnotation";
import type { RolloverTooltipSvgAnnotation } from "../../Annotations/RolloverTooltipSvgAnnotation";
import type { IRenderableSeries } from "../IRenderableSeries";
import type { EMousePosition } from "../../../../types/MousePosition";
export type TRolloverTooltipSvgTemplate = (id: string, seriesInfo: SeriesInfo, rolloverTooltip: RolloverTooltipSvgAnnotation) => string;
export interface IRolloverModifier {
    getMousePosition: () => EMousePosition;
    tooltipDataTemplate: TRolloverTooltipDataTemplate;
}
export declare class RolloverModifierRenderableSeriesProps {
    static copy(from: RolloverModifierRenderableSeriesProps, to: RolloverModifierRenderableSeriesProps): void;
    tooltip: RolloverTooltipSvgAnnotation;
    marker: RolloverMarkerSvgAnnotation;
    width: number;
    height: number;
    tooltipLabelX: string;
    tooltipLabelY: string;
    tooltipTemplate: TRolloverTooltipSvgTemplate;
    tooltipLegendOffsetX: number;
    tooltipLegendOffsetY: number;
    rolloverModifier: IRolloverModifier;
    renderableSeries: IRenderableSeries;
    private tooltipLegendTemplateProperty;
    private invalidateParentCallback;
    private showsRolloverProperty;
    private tooltipColorProperty;
    private tooltipTextColorProperty;
    private tooltipTitleProperty;
    private markerColorProperty;
    private shadowColorProperty;
    private tooltipDataTemplateProperty?;
    private isY1;
    constructor(renderableSeries: IRenderableSeries, isY1?: boolean);
    setInvalidateParentCallback(callback: () => void): void;
    get showRollover(): boolean;
    set showRollover(value: boolean);
    get tooltipColor(): string;
    set tooltipColor(value: string);
    get tooltipTextColor(): string;
    set tooltipTextColor(value: string);
    get tooltipTitle(): string;
    set tooltipTitle(value: string);
    get markerColor(): string;
    set markerColor(value: string);
    get shadowColor(): string;
    set shadowColor(value: string);
    get tooltipDataTemplate(): TRolloverTooltipDataTemplate;
    set tooltipDataTemplate(value: TRolloverTooltipDataTemplate);
    get tooltipLegendTemplate(): (tooltipProps: RolloverModifierRenderableSeriesProps, seriesInfo: SeriesInfo) => string;
    set tooltipLegendTemplate(value: (tooltipProps: RolloverModifierRenderableSeriesProps, seriesInfo: SeriesInfo) => string);
    /**
     * Calculates tooltip width from the longest text line length.
     * Override this if using a custom tooltipTemplate with different sizing.
     */
    calcTooltipWidth(textLength: number): number;
    /**
     * Calculates tooltip height from the number of text lines.
     * Override this if using a custom tooltipTemplate with different sizing.
     */
    calcTooltipHeight(lines: number): number;
    /**
     * Pre-computes tooltip text lines and dimensions.
     * Called by calcTooltipProps before positioning to ensure correct first-render placement.
     * The resulting lines are cached on the tooltip annotation to avoid recomputation in the SVG template.
     */
    getTooltipSize(seriesInfo: SeriesInfo): {
        width: number;
        height: number;
    };
    delete(): void;
    protected notifyPropertyChanged<T>(propertyName: string): void;
    private getRenderableSeriesStroke;
}
