import { AfterViewInit, EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { ChartOptions } from 'chart.js';
import { CoreBaseComponent } from '../common/base.component';
import * as i0 from "@angular/core";
export declare class ChartComponent extends CoreBaseComponent implements AfterViewInit, OnDestroy, OnInit {
    /**
     * The source name to use for logging
     */
    protected get logSourceName(): string;
    /**
     * Input for chart.js chart type.
     */
    type: string;
    /**
     * Input for chart.js configuration options
     */
    options: ChartOptions;
    /**
     * The width of the chart. Used only if responsive is false.
     */
    width: string;
    /**
     * Gets the configured width or null if the chart is responsive.
     */
    get setWidth(): string;
    /**
     * The height of the chart. Used only if responsive is false.
     */
    height: string;
    /**
     * Gets the configured height or null if the chart is responsive.
     */
    get setHeight(): string;
    /**
     * Indicates that this chart should use responsive sizing.
     */
    responsive: boolean;
    /**
     * Output that emits when a data element is selected in the chart
     * @deprecated since 9/25/2019. Please use 'dataSelected' instead
     */
    get onDataSelect(): EventEmitter<any>;
    dataSelected: EventEmitter<any>;
    /**
     * Surfaces the internal chart canvas for direct modification
     */
    get canvas(): any;
    /**
     * Surfaces the internal chart.js control for direct modification
     */
    chart: Chart;
    /**
     * Input for data for the chart
     */
    get data(): any;
    set data(val: any);
    /**
     * Indicates that the chart has been initialized and is ready for consumption
     */
    initialized: boolean;
    /**
     * Internal backing for the data property
     */
    private internalData;
    /**
     * use width="100%" and height="100%" on the canvas
     * required for doughnut chartss
     */
    useParentHeightAndWidth: boolean;
    /**
     * Constructs a new instance of @see ChartComponent
     * @param injector the injector service for the base class of this component
     */
    constructor(injector: Injector);
    /**
     * Implementation of angular ngOnInit interface
     * sets height and width settings
     */
    ngOnInit(): void;
    /**
     * Implementation of angular ngAfterViewInit interface
     */
    ngAfterViewInit(): void;
    /**
     * Implementation of angular ngOnDestroy interface
     */
    ngOnDestroy(): void;
    /**
     * Occurs when the canvas is clicked.
     * Emits dataSelected if a data element was clicked.
     */
    onCanvasClick(event: any): void;
    /**
     * Initializes the chart. If the chart was previously initialized, it is first destroyed.
     */
    initialize(): void;
    /**
     * Refreshes and redraws the chart
     */
    refresh(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "sme-chart", never, { "type": "type"; "options": "options"; "width": "width"; "height": "height"; "responsive": "responsive"; "data": "data"; }, { "onDataSelect": "onDataSelect"; "dataSelected": "dataSelected"; }, never, never, false, never>;
}
