import type { MementoOriginator } from 'ag-charts-core';
import type { AgActiveChangeEvent, AgActiveItemState, AgActiveState } from 'ag-charts-types';
import type { EventsHub } from '../../core/eventsHub';
import type { DatumIndexType, SeriesNodeDatum } from '../series/seriesTypes';
import type { UpdateService } from '../updateService';
import type { InteractionManager } from './interactionManager';
type ActiveItem = AgActiveItemState | undefined;
type ActiveChangeEvent = Omit<AgActiveChangeEvent<unknown, unknown>, 'context'>;
type DatumArg = Readonly<SeriesNodeDatum<DatumIndexType>> | undefined;
/**
 * This class implements the (de-)serialisation of `AgChartState['active']`.
 */
export declare class ActiveManager implements MementoOriginator<AgActiveState> {
    private readonly chartService;
    private readonly eventsHub;
    private readonly interactionManager;
    private readonly fireEvent;
    mementoOriginatorKey: string;
    private currentItem?;
    private updateable;
    private didLayout;
    private pendingMemento;
    constructor(chartService: {
        readonly id: string;
    }, eventsHub: EventsHub, updateService: UpdateService, interactionManager: InteractionManager, fireEvent: (event: ActiveChangeEvent) => void);
    private isFrozen;
    clear(): void;
    update(newItemState: ActiveItem, nodeDatum: DatumArg): void;
    private performUpdate;
    createMemento(): AgActiveState;
    guardMemento(blob: unknown, messages: string[]): blob is AgActiveState | undefined;
    restoreMemento(version: string, mementoVersion: string, memento: AgActiveState | undefined): void;
    private performRestoration;
}
export {};
