import { ApplyData } from 'on-change';
import { View } from '../chart/view.js';
interface ReactiveContext {
    path: string;
    value: unknown;
    previousValue: unknown;
    applyData: ApplyData;
}
export declare class Reactive {
    source: object;
    reactiveObject: object;
    dep: Dep;
    constructor(target: object, chart: View);
    createReactiveObject(target: object): object;
    unsubscribe(): void;
}
export declare function reactive(source: object, chart: View): Reactive;
export declare class Dep {
    ctrl: View;
    constructor(chart: View);
    notify({ path, value, previousValue }: ReactiveContext): void;
    /**
     * 同步 chart option config
     */
    private syncConfig;
    private update;
}
export {};
