/**
 *
 *  Copyright (c) "Neo4j"
 *  Neo4j Sweden AB [http://neo4j.com]
 *
 *  This file is part of Neo4j.
 *
 *  Neo4j is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
import type { LegendProps } from '../utils/chart-types';
type LegendSeries = LegendProps['series'];
type UseLegendHoverHighlightParams = {
    selectedSeries: Record<string, boolean>;
    series: LegendSeries;
};
type UseLegendSelectionParams = {
    series: LegendProps['series'];
};
/**
 * Owns React legend selection and keeps it synchronized with ECharts.
 *
 * Current series changes preserve existing selection by name, new series default
 * to visible, removed series are dropped, and ECharts legend events update the
 * React state used to render legend items.
 */
export declare function useLegendSelection({ series }: UseLegendSelectionParams): {
    renderedSelectedSeries: Record<string, boolean>;
};
/**
 * Creates a delayed ECharts highlighter for legend item hover state.
 *
 * Legend hover moves often happen as a quick leave/enter pair between adjacent
 * items. Keeping separate highlight and downplay timers lets the next hover
 * cancel the previous opposite action, preventing the chart from flickering
 * between emphasized and reset states. Deselected legend items are ignored so
 * hidden series do not get emphasized through hover.
 */
export declare function useLegendHoverHighlight({ selectedSeries, series, }: UseLegendHoverHighlightParams): {
    toggleHighlight: (seriesToUpdate: {
        name: string;
        color: string;
    }, shouldHighlight: boolean) => void;
};
export {};
//# sourceMappingURL=use-legend-interactions.d.ts.map