import { BaseElement } from "../document/elements";
import type { StyleProperties, MeasuredSize, ColorLike } from "../document/types";
export type ChartKind = "bar" | "line" | "area" | "pie" | "donut";
export interface ChartSeries {
    name?: string;
    values: number[];
    color?: ColorLike;
}
export interface ChartSlice {
    label: string;
    value: number;
    color?: ColorLike;
}
export interface ChartData {
    labels?: string[];
    series?: ChartSeries[];
    slices?: ChartSlice[];
}
export declare class ChartElement extends BaseElement {
    private kind;
    private data;
    private style;
    private title;
    private legend;
    private box_width;
    private box_height;
    constructor(kind: ChartKind, data: ChartData, style: StyleProperties, height: number | undefined, title: string | undefined, legend: boolean);
    private font;
    measure(avail_width: number): MeasuredSize;
    render(pdoc: any): void;
    private draw_axes_chart;
    private draw_series_legend;
    private draw_pie;
}
