import { ElementRef, OnInit, OnChanges, AfterViewInit } from '@angular/core';
import { CfChartComponent } from '../chart/chart.component';
import { PieChartModel } from '../../models/chart/pie-chart.model';
import { TemplateService } from '../../services/template-service/template.service';
import { CfEventService } from '../../services/event.service';
/**
 * <p>CfPieChart component is created based on <b><a href="https://github.com/swimlane/ngx-charts" target="_blank">Ngx-charts</a></b> and <b>CfChartComponet</b></p>
 * <pre>
 * <code>
 * import { PieChartModel } from 'cedrus-fusion'
 * import { ChartStylingModel } from 'cedrus-fusion'
 * <code><</code>cf-pie-chart<code>></code><code><</code><code>/</code>cf-pie-chart<code>></code>
 * </code>
 * </pre>
 * <pre>{
 *	data: any[], 										// Data to show
 *	gradient: boolean, 							// Fill elements with a gradient instead of a solid color. Default: false.
 *	showLegend: boolean, 						// If to show the legend. Default: true.
 *	colorScheme: ChartsColorScheme, // Array with string css color values. Default: ['#5AA454', '#A10A28', '#C7B42C', '#AAAAAA'].
 *	showXAxis: boolean, 						// If to show the x axis. Default: true.
 *	showYAxis: boolean, 						// If to show the y axis. Default: true.
 *	showXAxisLabel: boolean, 				// If to show the x axis label. Default: true.
 *	showYAxisLabel: boolean, 				// If to show the y axis label. Default: true.
 *	xAxisLabel: string, 						// The x axis label
 *	yAxisLabel: string, 						// The y axis label
 *	donut: boolean,									// Should pie chart to be like normal circle (true) or filled circle(false). Default: false.
 *	showLabels: boolean,						// Show or hide the labels. Default: true.
 *	explodeSlices: boolean,					// Make the radius of each slice proportional to it's value. Default: false.
 *	legendPosition: string,					// Legend position. Can be: top, right, bottom, left. Default: right.
 *	chartAlignment: string,					// Alignment of chart. Can be: start, center, end. Default: start.
 * }</pre>
 * <p>Example of data object:</p>
 * <pre>data = [
 *  { "name": "Germany", "value": 8940000 },
 *  { "name": "USA", "value": 5000000 },
 *  { "name": "France", "value": 7200000 }
 * ]</pre>
 * <p>Example of chart options:</p>
 * <pre>myChartModel = new PieChartModel({
 *	data: this.data,
 *	donut: true,
 *	explodeSlices: true
 * });</pre>
 * <pre>{
 *	barsContainerWidth: string, 							// It is css value for chart bars container width. Default: '100%'.
 *	barsContainerHeight: string', 						// It is css value for chart bars container height. Default: '200px.
 *	container: StylingObject, 	// Styling of chart container
 * }</pre>
 * <p>Example of styling object:</p>
 * <pre>chartStylingModel = new ChartStylingModel({
 *	barsContainerWidth: '100%',
 *	barsContainerHeight: '200px',
 *	container: {
 *		class: 'my-chart-class'
 *	}
 * });</pre>
 */
export declare class CfPieChartComponent extends CfChartComponent implements OnInit, OnChanges, AfterViewInit {
    elementRef: ElementRef;
    /**@hidden */ eventService: CfEventService;
    /** @hidden*/
    cfChartHost: any;
    /** @hidden*/
    cfNgxChart: any;
    /** @hidden*/
    cfPieChart: PieChartModel;
    /**
     * <p>Should doughnut instead of pie slices</p>
     */
    donut: boolean;
    /**
     * <p>Show or hide the labels</p>
     */
    showLabels: boolean;
    /**
     * <p>Make the radius of each slice proportional to it's value</p>
     */
    explodeSlices: boolean;
    /** @hidden*/
    constructor(elementRef: ElementRef, /**@hidden */ templateService: TemplateService, 
        /**@hidden */ eventService: CfEventService);
    /** @hidden*/
    ngOnInit(): void;
    /** @hidden*/
    ngAfterViewInit(): void;
    /** @hidden
   * <p> Update the properties object with the changes on the inputs to keep the component dynamic.</p>
   * @param changes
   */
    ngOnChanges(changes: any): void;
    /** @hidden*/
    getContainerClass(): string;
}
