import { ChartData, ChartOptions, ChartType, DefaultDataPoint, Plugin, UpdateMode } from 'chart.js';
export type { ChartData as MazChartData, DefaultDataPoint as MazChartDefaultDataPoint, Plugin as MazChartPlugin, ChartType as MazChartType, UpdateMode as MazChartUpdateMode } from 'chart.js';
export interface MazChartProps<T extends ChartType = ChartType, TData = DefaultDataPoint<T>, TLabel = unknown> {
    /**
     * Type of the chart
     * @type ChartType
     * @values 'bar', 'line', 'scatter', 'bubble', 'pie', 'doughnut', 'polarArea', 'radar'
     * @required
     */
    type: T;
    /**
     * Data of the chart
     * @type ChartData<T, TData, TLabel>
     * @required
     */
    data: ChartData<T, TData, TLabel>;
    /**
     * Options of the chart
     * @type ChartOptions<T>
     * @default {}
     */
    options?: ChartOptions<T>;
    /**
     * Plugins of the chart
     * @type Plugin[]
     */
    plugins?: Plugin[];
    /**
     * Dataset ID key
     * @type string
     */
    datasetIdKey?: string;
    /**
     * Update mode
     * @type UpdateMode
     * @values 'resize', 'reset', 'none', 'hide', 'show', 'default', 'active'
     * @default 'default'
     */
    updateMode?: UpdateMode;
}
declare const _default: <T extends ChartType, TData = DefaultDataPoint<T>, TLabel = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, never> & MazChartProps<T, TData, TLabel> & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {};
    emit: {};
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
