interface ConfigOptions {} type Accessor = Out | string | ((obj: In) => Out); type SeriesAccessor = Accessor; interface SeriesD { __dataNode?: DataNode; } interface DataNode { data: SeriesD; id: number; value: number; startAngle?: number; endAngle?: number; padAngle?: number; } type SeriesCompareFn = (a: SeriesD, b: SeriesD) => number; type TooltipFn = (series: SeriesD, dataNode: DataNode) => string; declare class ProportionsChart { constructor(element: HTMLElement, configOptions?: ConfigOptions); width(): number; width(width: number): ProportionsChart; height(): number; height(height: number): ProportionsChart; data(): SeriesD[]; data(data: SeriesD[]): ProportionsChart; label(): SeriesAccessor; label(textAccessor: SeriesAccessor): ProportionsChart; size(): SeriesAccessor; size(textAccessor: SeriesAccessor): ProportionsChart; color(): SeriesAccessor; color(textAccessor: SeriesAccessor): ProportionsChart; sort(): SeriesCompareFn | null; sort(fn: SeriesCompareFn): ProportionsChart; showLabels(): boolean; showLabels(show: boolean): ProportionsChart; tooltipContent(): TooltipFn; tooltipContent(fn: TooltipFn): ProportionsChart; onClick(cb: (series: SeriesD, event: MouseEvent) => void): ProportionsChart; onRightClick(cb: (series: SeriesD, event: MouseEvent) => void): ProportionsChart; onHover(cb: (series: SeriesD | null, event: MouseEvent) => void): ProportionsChart; } export { type ConfigOptions, type DataNode, type SeriesD, ProportionsChart as default };