import type { IVChart, IData, IInitOption, ISpec, IVChartConstructor } from '@visactor/vchart';
import React from 'openinula';
import { ContainerProps } from '../containers/withContainer';
import { EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps } from '../eventsUtils';
import { IReactTooltipProps } from '../components/tooltip/interface';
export type ChartOptions = Omit<IInitOption, 'dom'>;
export interface BaseChartProps extends EventsProps, LegendEventProps, ScrollBarEventProps, BrushEventProps, DataZoomEventProps, PlayerEventProps, DimensionEventProps, HierarchyEventProps, ChartLifeCycleEventProps, IReactTooltipProps {
    vchartConstructor?: IVChartConstructor;
    vchartConstrouctor?: IVChartConstructor;
    type?: string;
    container?: HTMLDivElement;
    spec?: ISpec;
    data?: IData;
    width?: number;
    height?: number;
    options?: ChartOptions;
    skipFunctionDiff?: boolean;
    onReady?: (instance: IVChart, isInitial: boolean) => void;
    onError?: (err: Error) => void;
    useSyncRender?: boolean;
}
export declare const createChart: <T extends React.PropsWithChildren<BaseChartProps>>(componentName: string, defaultProps?: Partial<T>, callback?: (props: T, defaultProps?: Partial<T>) => T) => React.ExoticComponent<React.PropsOmitRef<T & ContainerProps>> & React.Attributes & {
    ref?: React.Ref<any>;
};
