import { CString, CFunction } from '../cvizzu.types';
import * as Anim from '../types/anim.js';
import * as Config from '../types/config.js';
import * as Styles from '../types/styles.js';
import { CManagedObject, CObject, CEnv } from './cenv.js';
import { CPointerClosure } from './objregistry.js';
import { CProxy } from './cproxy.js';
import { CCanvas } from './ccanvas.js';
import { CAnimation } from './canimctrl.js';
/** Stored Chart object. */
export declare class Snapshot extends CManagedObject {
}
export declare class CEvent extends CObject {
    preventDefault(): void;
}
declare class CConfig extends CProxy<Config.Chart> {
}
declare class CStyle extends CProxy<Styles.Chart> {
}
declare class CAnimOptions extends CProxy<Anim.Options> {
}
export declare class CChart extends CManagedObject {
    config: CConfig;
    style: CStyle;
    computedStyle: CStyle;
    animOptions: CAnimOptions;
    private _cCanvas?;
    constructor(env: CEnv, getId: CPointerClosure);
    update(time: number): void;
    render(cCanvas: CCanvas, width: number, height: number): void;
    animate(callback: (ok: boolean) => void): void;
    storeSnapshot(): Snapshot;
    restoreSnapshot(snapshot: Snapshot): void;
    restoreAnim(animation: CAnimation): void;
    setKeyframe(): void;
    addEventListener<T>(eventName: string, func: (event: CEvent, param: T) => void): CFunction;
    removeEventListener(eventName: string, cfunc: CFunction): void;
    pointerdown(pointerId: number, x: number, y: number): void;
    pointermove(pointerId: number, x: number, y: number): void;
    pointerup(pointerId: number, x: number, y: number): void;
    pointerleave(pointerId: number): void;
    wheel(delta: number): void;
    getString(text: CString): string;
    private _makeConfig;
    private _makeStyle;
    private _makeAnimOptions;
}
export {};
