/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import "./chart.scss";
import React from "react";
import type { PluginServiceRegistrationOptions } from "chart.js";
import ChartJS from "chart.js";
export interface ChartData extends ChartJS.ChartData {
    datasets?: ChartDataSets[];
}
export interface ChartDataSets extends ChartJS.ChartDataSets {
    id?: string;
    tooltip?: string;
}
export interface ChartProps {
    data: ChartData;
    options?: ChartJS.ChartOptions;
    width?: number | string;
    height?: number | string;
    type?: ChartKind;
    showChart?: boolean;
    showLegend?: boolean;
    legendPosition?: "bottom";
    legendColors?: string[];
    plugins?: PluginServiceRegistrationOptions[];
    redraw?: boolean;
    title?: string;
    className?: string;
    "data-testid"?: string;
}
export declare enum ChartKind {
    PIE = "pie",
    BAR = "bar",
    LINE = "line",
    DOUGHNUT = "doughnut"
}
export declare class Chart extends React.Component<ChartProps> {
    static defaultProps: object;
    private canvas;
    private chart;
    private currentChartData?;
    componentDidMount(): void;
    componentDidUpdate(): void;
    memoizeDataProps(): void;
    updateChart(): void;
    renderLegend(): React.JSX.Element | null;
    renderChart(): void;
    render(): React.JSX.Element;
}
