import { ChangeDetectorRef, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { LoggerService } from "@nova-ui/bits";
import { IAccessors, IChartAssistSeries } from "@nova-ui/charts";
import { ProportionalContentAggregatorsRegistryService } from "../../../services/proportional-content-aggregators-registry.service";
import { ProportionalDonutContentFormattersRegistryService } from "../../../services/public-api";
import { IHasChangeDetector } from "../../../types";
import { IFormatter, IFormatterProperties } from "../../types";
import { IDonutContentConfig } from "../types";
import * as i0 from "@angular/core";
export declare class ProportionalDonutContentComponent implements OnChanges, OnDestroy, IHasChangeDetector {
    private aggregatorRegistry;
    private formatterRegistry;
    changeDetector: ChangeDetectorRef;
    private logger;
    static lateLoadKey: string;
    widgetData: IChartAssistSeries<IAccessors>[];
    donutConfig: IDonutContentConfig;
    private chartAssist;
    aggregatedValue: string;
    contentFormatter: IFormatter;
    contentFormatterProperties: IFormatterProperties | undefined;
    private contentFormatterDefinition;
    private contentAggregatorDefinition;
    /** Hovered series Id */
    private emphasizedSeriesId;
    private destroy$;
    private chartAssistSubscription;
    constructor(aggregatorRegistry: ProportionalContentAggregatorsRegistryService, formatterRegistry: ProportionalDonutContentFormattersRegistryService, changeDetector: ChangeDetectorRef, logger: LoggerService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    /**
     * Iterates over formatters and maps their properties from the data
     *
     * @param formattersConfiguration
     */
    private getFormatterProperties;
    private updateAggregatorDefinition;
    private updateFormatterDefinition;
    private updateAggregatedValue;
    private updateFormatterProperties;
    private getAggregatorProperties;
    private subscribeToChartAssist;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProportionalDonutContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProportionalDonutContentComponent, "nui-proportional-donut-content", never, { "widgetData": { "alias": "widgetData"; "required": false; }; "donutConfig": { "alias": "donutConfig"; "required": false; }; "chartAssist": { "alias": "chartAssist"; "required": false; }; }, {}, never, never, false, never>;
}
