import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { CapacityBase } from '../../common/capacity-base.component';
import { LegendEntryData } from '../../legend/legend-entry/legend-entry.component';
import { DoughnutChartComponent, DoughnutChartData } from '../doughnut-chart.component';
import { LegendPosition } from '../legend-position';
import * as i0 from "@angular/core";
export interface CapacityDoughnutChartData {
    /**
     * The label for the data segment
     */
    label: string;
    /**
     * The value of the data segment
     */
    value: number;
}
export declare class CapacityDoughnutChartComponent extends CapacityBase implements OnInit, OnDestroy {
    private changeDetectorRef;
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    /**
     * Whether or not to use a generated legend
     * If legendData is specified, a legend will be shown regardless of showLegend value
     */
    showLegend: boolean;
    /**
     * The legend data to put into the legend
     * If legend is not specified, it will automatically be generated
     */
    legendData: LegendEntryData[];
    /**
     * Title shown for the chart
     */
    chartTitle: string;
    /**
     * Whether to display the chart title
     * Defaults to true
     */
    showTitle: boolean;
    /**
     * List of data for the doughnut chart
     */
    capacityChartData: CapacityDoughnutChartData[];
    /**
     * Subtext to be shown in the center of the chart
     */
    centerChartSubtext: string;
    /**
     * Text that can be provided to give additional optional information about the doughnut chart
     */
    tooltipTitle: string;
    /**
     * Sets the width of the chart. Can be any valid css width value. Defaults to 180px
     */
    width: string;
    /**
     * A string explaining the how often the chart refreshes, if applicable
     * Expect strings like "3 minutes" and "30 seconds"
     * Used for aria-label of chart in sentence "Chart refreshes every <refreshIntervalString>"
     */
    refreshIntervalString?: string;
    /**
     * The position of the legend relative to the chart. Currently supported options are 'top' and 'right'
     */
    legendPosition?: LegendPosition.Bindable;
    /**
     * Emits tool tip toggled event
     * @deprecated since 9/25/2019. Please use 'tooltipToggled' instead
     */
    get onTooltipToggle(): EventEmitter<void>;
    tooltipToggled: EventEmitter<void>;
    chart: DoughnutChartComponent;
    percentUsedText: string;
    doughnutChartData: DoughnutChartData[];
    stateString: string;
    constructor(injector: Injector, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    private updateChartData;
    /**
     * emit tool tip event
     */
    toggleTooltip(): void;
    /**
     * refresh the chart data
     */
    refresh(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CapacityDoughnutChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CapacityDoughnutChartComponent, "sme-capacity-doughnut-chart", never, { "showLegend": "showLegend"; "legendData": "legendData"; "chartTitle": "chartTitle"; "showTitle": "showTitle"; "capacityChartData": "capacityChartData"; "centerChartSubtext": "centerChartSubtext"; "tooltipTitle": "tooltipTitle"; "width": "width"; "refreshIntervalString": "refreshIntervalString"; "legendPosition": "legendPosition"; }, { "onTooltipToggle": "onTooltipToggle"; "tooltipToggled": "tooltipToggled"; }, never, never, false, never>;
}
