import type { RequireOptional } from 'ag-charts-core';
import type { AgChartInstance, AgSelectionChangeEvent } from 'ag-charts-types';
import { Group } from '../scene/group';
import type { CaptionLike } from './captionLike';
import type { ChartHighlight } from './chartHighlight';
import type { ChartType } from './chartType';
import type { SeriesProperties } from './series/seriesProperties';
import type { ISeries, SeriesNodeDatum } from './series/seriesTypes';
export type ChartServiceEvent = RequireOptional<Omit<AgSelectionChangeEvent<unknown, unknown>, 'context'>>;
export type ChartServiceEventType = ChartServiceEvent['type'];
type BaseSeries = ISeries<SeriesNodeDatum, SeriesProperties<object>>;
export interface ChartService {
    readonly id: string;
    readonly title: CaptionLike;
    readonly series: BaseSeries[];
    readonly seriesRoot: Group;
    readonly selectionRoot: Group;
    readonly publicApi?: AgChartInstance;
    readonly context?: unknown;
    readonly highlight?: ChartHighlight;
    getChartType(): ChartType;
    overrideFocusVisible(visible: boolean | undefined): void;
    hasListener(type: ChartServiceEventType): boolean;
    callListener(event: ChartServiceEvent): void;
}
export {};
