import { AgDocument, type DynamicContext } from 'ag-charts-core';
import type { ChartRegistry } from '../module/moduleContext';
import type { Group } from '../scene/group';
import { Scene } from '../scene/scene';
import type { Mutex } from '../util/mutex';
import type { TypedEvent } from '../util/observable';
import type { ChartService } from './chartService';
import type { ChartType } from './chartType';
import type { SyncManager } from './interaction/syncManager';
import type { Tooltip } from './tooltip/tooltip';
export interface ChartContextVars {
    chartType: ChartType;
    scene?: Scene;
    root: Group;
    syncManager: SyncManager;
    container?: HTMLElement;
    agDocument: AgDocument;
    styleContainer?: HTMLElement;
    skipCss?: boolean;
    domMode?: 'normal' | 'minimal';
    withDragInterpretation: boolean;
    fireEvent: <TEvent extends TypedEvent>(event: TEvent) => void;
    updateMutex: Mutex;
}
type ChartHost = ChartService & {
    annotationRoot: Group;
    tooltip: Tooltip;
};
export declare function createChartContext(chart: ChartHost, vars: ChartContextVars): DynamicContext<ChartRegistry>;
export {};
