import { AfterViewInit, ChangeDetectorRef, KeyValueDiffers, NgZone, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { EventBus, IDataSource, IEvent, LoggerService, UnitConversionService } from "@nova-ui/bits";
import { ChartAssist, ChartDonutContentPlugin, IAccessors } from "@nova-ui/charts";
import { IHasChangeDetector } from "../../types";
import { IFormatter } from "../types";
import { IProportionalWidgetData, IProportionalWidgetConfig } from "./types";
import * as i0 from "@angular/core";
/** @ignore */
export declare class ProportionalWidgetComponent implements AfterViewInit, OnChanges, IHasChangeDetector, OnDestroy {
    changeDetector: ChangeDetectorRef;
    private ngZone;
    private kvDiffers;
    private eventBus;
    private dataSource;
    private logger;
    static lateLoadKey: string;
    private static NO_SWITCH_LAYOUT_INTERVAL_SIZE;
    private static MAX_ROW_LAYOUT_SIZE;
    private static TICK_LABEL_MAX_WIDTH;
    widgetData: IProportionalWidgetData[];
    configuration: IProportionalWidgetConfig;
    elementClass: string;
    seriesToIconMap: {
        [seriesId: string]: string;
    };
    chartAssist: ChartAssist;
    accessors: IAccessors;
    donutContentPlugin: ChartDonutContentPlugin | null;
    legendUnitLabel: string;
    legendFormatter: IFormatter | undefined;
    contentFormatter: IFormatter | undefined;
    chartFormatterComponentType: string | undefined;
    contentFormatterProperties: any;
    prioritizedGridRows: {
        right: boolean;
        bottom: boolean;
    };
    private differ;
    private renderer;
    private scales;
    private chartPalette;
    private proportionalWidgetResizeObserver;
    private unitConversionPipe;
    private gridContainer;
    private chartTypeSubscription$;
    get interactive(): boolean;
    constructor(changeDetector: ChangeDetectorRef, ngZone: NgZone, kvDiffers: KeyValueDiffers, eventBus: EventBus<IEvent>, dataSource: IDataSource, logger: LoggerService, unitConversionService: UnitConversionService);
    computeLegendTileValue(legendSeries: unknown): string | undefined;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    getContentFormatterProperties(): void;
    /** Checks if chart is donut. */
    isDonutChart(): boolean;
    /** Checks if chart is radial. */
    isRadialChart(): boolean;
    /** Checks if legend should be shown. */
    hasLegend(): boolean;
    /** Checks if legend should be aligned to right. */
    legendShouldBeAlignedRight(): boolean;
    onInteraction(data: any): void;
    /** Configures the chart options */
    private buildChart;
    private handleGridFlowOnResize;
    private applyTickLabelMaxWidths;
    private onResize;
    private isContainerInNoSwitchLayoutInterval;
    private containerHasRowLayoutWidth;
    /** Builds the chart */
    private updateChart;
    private updateChartColors;
    private getDataDriverColorProvider;
    private getConfigurationColorProvider;
    get isEmpty(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProportionalWidgetComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProportionalWidgetComponent, "nui-proportional-widget", never, { "widgetData": { "alias": "widgetData"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; "elementClass": { "alias": "elementClass"; "required": false; }; "seriesToIconMap": { "alias": "seriesToIconMap"; "required": false; }; }, {}, never, never, false, never>;
}
