import { default as CxResizeObserver } from '../resize-observer/resize-observer.ts';
import { default as CxSpinner } from '../spinner/spinner.ts';
import { default as CortexElement } from '../../../../base/src/cortex-element.ts';
import { CSSResultGroup } from 'lit';
import { ChartSpec } from './e-chart-controller';

/**
 * @summary CxEChart
 *
 * @event cx-e-chart-rendered - Emitted when the chart finishes rendering new data or spec.
 * @event {{ type, raw, seriesName, name, value, data, chart }} cx-e-chart-drill-down - Emitted when the user clicks on a data point.
 */
export default class CxEChart extends CortexElement {
    #private;
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-resize-observer': typeof CxResizeObserver;
        'cx-spinner': typeof CxSpinner;
    };
    private readonly localize;
    private readonly eChartController;
    private readonly chartDiv;
    data: Array<Record<string, unknown>>;
    spec: ChartSpec | undefined;
    loading: boolean | undefined;
    constructor();
    connectedUpdatedCallback(): void;
    disconnectedCallback(): void;
    handleUpdate(): void;
    private handleResize;
    private handleChartDrillDown;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-e-chart': CxEChart;
    }
}
