import * as Anim from './types/anim.js';
import * as Config from './types/config.js';
import * as Styles from './types/styles.js';
import * as D from './types/data.js';
import { Module } from './module/module.js';
import { Chart as ChartInterface } from './module/chart.js';
import { Snapshot } from './module/cchart.js';
import { CAnimation } from './module/canimctrl.js';
import { EventType, EventHandler, EventMap } from './events.js';
import { Mirrored } from './tsutils.js';
import { VizzuOptions } from './vizzu.js';
import { AnimControl } from './animcontrol.js';
import { PluginRegistry } from './plugins.js';
export declare class Chart implements ChartInterface {
    private _options;
    private _cChart;
    private _cCanvas;
    private _module;
    private _cData;
    private _data;
    private _events;
    private _plugins;
    private _changed;
    constructor(module: Module, options: VizzuOptions, plugins: PluginRegistry);
    registerBuiltins(): void;
    detach(): void;
    start(): void;
    private updateAndRender;
    private _update;
    private _render;
    doChange(): void;
    openUrl(url: number): void;
    prepareAnimation(target: Anim.Keyframes | CAnimation, options?: Anim.ControlOptions & Anim.Options): Promise<void>;
    runAnimation(callback: (ok: boolean) => void): void;
    setAnimParams(target: Anim.Keyframes | CAnimation, options?: Anim.ControlOptions & Anim.Options): void;
    private _setKeyframe;
    private _nullEmptyChannels;
    version(): string;
    get data(): Mirrored<D.Metainfo>;
    get config(): Mirrored<Config.Chart>;
    get style(): Mirrored<Styles.Chart>;
    getComputedStyle(): Mirrored<Styles.Chart>;
    on<T extends EventType>(eventName: T, handler: EventHandler<EventMap[T]>): void;
    off<T extends EventType>(eventName: T, handler: EventHandler<EventMap[T]>): void;
    store(): Snapshot;
    getAnimControl(): AnimControl;
    private _getCAnimControl;
}
