import { Chart, ChartType } from 'chart.js';
import { Ref } from 'vue-demi';
import { VueProxy } from './vueproxy.types';
import { ChartPropsOptions } from './types';
export declare type ComponentData<T extends ChartType> = {
    canvasRef: Ref<HTMLCanvasElement | undefined>;
    renderChart: () => void;
    chartInstance: Chart<T> | null;
    canvasId: string;
};
export declare const defineChartComponent: <TType extends keyof import("chart.js").ChartTypeRegistry = keyof import("chart.js").ChartTypeRegistry>(chartId: string, chartType: TType) => VueProxy<ChartPropsOptions<TType>, ComponentData<TType>, object | ((this: import("vue/types/umd")) => object), {
    [key: string]: any;
}, {
    [key: string]: (this: import("vue/types/umd"), ...args: any[]) => any;
}>;
