import type uPlot from 'uplot';
import type { InjectionKey, Ref } from 'vue';
export interface PlotContextValue {
    uPlotInstance: Ref<uPlot | null>;
    id: Ref<string>;
    shouldSaveSelectionPreference: Ref<boolean>;
    setPlotContextInitialState: (state: {
        uPlotInstance: uPlot | null;
        id?: string;
        shouldSaveSelectionPreference?: boolean;
    }) => void;
    onToggleSeriesVisibility: (seriesIndex: number) => void;
    onToggleSeriesOnOff: (seriesIndex: number) => void;
    onFocusSeries: (seriesIndex: number | null) => void;
    syncSeriesVisibilityToLocalStorage: () => void;
}
export declare const PLOT_CONTEXT_KEY: InjectionKey<PlotContextValue>;
export declare function providePlotContext(): PlotContextValue;
export declare function usePlotContext(): PlotContextValue;
