import { ElementRef, OnInit, EventEmitter } from '@angular/core';
import { CfCoreComponent } from '../core/core.component';
import { ChartsColorScheme } from '../../models/chart/chart.model';
import { ChartStylingModel } from '../../models/chart/chart-styling.model';
import { TemplateService } from '../../services/template-service/template.service';
import { CfEventService } from '../../services/event.service';
/**
 * <p>CF Chart component is created based on <a href="https://github.com/swimlane/ngx-charts" target="_blank">Ngx-charts</a></p>
 */
export declare class CfChartComponent extends CfCoreComponent implements OnInit {
    elementRef: ElementRef;
    /**@hidden */ eventService: CfEventService;
    /** @hidden*/
    cfComponentChartTemplate: any;
    /** @hidden*/
    cfChartHost: any;
    /** @hidden*/
    cfNgxChart: any;
    /**
   * <p>Chart component model object. Refer to ../models/chart/chart.model.ts.</p>
   */
    properties: any;
    /**
   * <p>The styling object of the chart component. Refer to ../models/chart/chart-styling.model.ts</p>
   */
    styling: ChartStylingModel;
    /**
   * <p>Data to show in the chart format</p>
   */
    data: any[];
    /**
     * <p>Fill elements with a gradient instead of a solid color</p>
     */
    gradient: boolean;
    /**
   * <p>Show or hide the legend</p>
   */
    showLegend: boolean;
    /**
     * <p>Legend position. Can be: top, right, bottom, center. Default: right.</p>
     */
    legendPosition: string;
    /**
     * <p>Chart alignment. Can be: start, center, end. Default: start.</p>
     */
    chartAlignment: string;
    /**
     * <p>The color scheme of the chart - it is array with string css color values. Can be set by providing array with colors or by selecting from existing color schemes palettes. Default template color scheme is this:</p>
   * <pre>{
   *      domain: []
   * }</pre>
     */
    colorScheme: ChartsColorScheme;
    /**
     * <p>The color scheme name from the charts color scheme sets. Default color scheme is: forest</p>
   * <ul><li>vivid</li><li>natural</li><li>cool</li><li>fire</li><li>solar</li><li>air</li><li>aqua</li><li>flame</li><li>ocean</li><li>forest</li><li>horizon</li><li>neons</li><li>picnic</li><li>night</li><li>nightLights</li></ul>
     */
    colorSchemeName: string;
    /**
   * <p>Show or hide the x axis</p>
   */
    showXAxis: boolean;
    /**
     * <p>Show or hide the y axis</p>
     */
    showYAxis: boolean;
    /**
     * <p>Show or hide the x axis label</p>
     */
    showXAxisLabel: boolean;
    /**
     * <p>Show or hide the y axis label</p>
     */
    showYAxisLabel: boolean;
    /**
     * <p>The x axis label text</p>
     */
    xAxisLabel: string;
    /**
     * <p>The y axis label text</p>
     */
    yAxisLabel: string;
    /**
     * <p>The event will be emitted when the chart is clicked</p>
     */
    onClick: EventEmitter<any>;
    /**
     * <p>List of all charts color schemes</p>
     */
    colorSchemes: any[];
    /** @hidden*/
    constructor(elementRef: ElementRef, /**@hidden */ templateService: TemplateService, 
        /**@hidden */ eventService: CfEventService);
    /** @hidden*/
    ngOnInit(): void;
    /** @hidden
   * <p>The method will emit event when the chart is clicked</p>
   */
    onSelect(event: any): void;
    /** @hidden
     * The method to set all generall charts options.
     */
    setCommonProperties(): 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
     * Method to update chart height when chart legend is on top/bottom of chart itself, because in that case own ngx-chart element class="ngx-charts-outer" has column orientation and element ngx-charts-chart can't recalculate it own height.
     */
    updateChartHeight(): void;
}
