/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewChecked, AfterViewInit, ChangeDetectorRef, NgZone, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChange, QueryList, EventEmitter, ElementRef, EmbeddedViewRef } from '@angular/core';
import { IntlService } from '@progress/kendo-angular-intl';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { Group, ImageExportOptions, Surface } from '@progress/kendo-drawing';
import { LicenseMessage } from '@progress/kendo-licensing';
import { Subscription } from 'rxjs';
import { ChartAxis } from './api-types/chart-axis.interface';
import { ChartPane } from './api-types/chart-pane.interface';
import { ChartPlotArea } from './api-types/chart-plotarea.interface';
import { SeriesPoint } from './api-types/series-point.interface';
import './chart-defaults';
import { ChartOptions } from './chart-options.interface';
import { DonutCenterTemplateDirective } from './chart/donut-center-template.directive';
import { NoDataTemplateDirective } from './chart/no-data-template.directive';
import { SeriesItemComponent } from './chart/series-item.component';
import { CrosshairTooltipsContainerComponent } from './chart/tooltip/crosshair-tooltips-container.component';
import { PopupSettings } from './chart/tooltip/popup-settings.interface';
import { TooltipPopupComponent } from './chart/tooltip/tooltip-popup.component';
import { ChartSVGExportOptions, ChartVisualExportOptions } from './common/api-types';
import { ChartInstanceObserver } from './common/chart-instance-observer';
import { ConfigurationService } from './common/configuration.service';
import { AxisDefaults, CategoryAxis, ChartArea, DragAction, Legend, Pane, PaneDefaults, PlotArea, Series, SeriesDefaults, Subtitle, Title, Tooltip, ValueAxis, XAxis, YAxis, Zoomable } from './common/property-types';
import { ThemeService } from './common/theme.service';
import { AxisLabelClickEvent } from './events/axis-label-click-event';
import { DragEndEvent } from './events/drag-end-event';
import { DragEvent } from './events/drag-event';
import { DragStartEvent } from './events/drag-start-event';
import { InstanceEventService } from './events/instance-event.service';
import { LegendItemClickEvent } from './events/legend-item-click-event';
import { LegendItemHoverEvent } from './events/legend-item-hover-event';
import { LegendItemLeaveEvent } from './events/legend-item-leave-event';
import { NoteClickEvent } from './events/note-click-event';
import { NoteHoverEvent } from './events/note-hover-event';
import { NoteLeaveEvent } from './events/note-leave-event';
import { PaneRenderEvent } from './events/pane-render-event';
import { PlotAreaClickEvent } from './events/plot-area-click-event';
import { PlotAreaHoverEvent } from './events/plot-area-hover-event';
import { PlotAreaLeaveEvent } from './events/plot-area-leave-event';
import { RenderEvent } from './events/render-event';
import { SelectEndEvent } from './events/select-end-event';
import { SelectEvent } from './events/select-event';
import { SelectStartEvent } from './events/select-start-event';
import { SeriesClickEvent } from './events/series-click-event';
import { SeriesHoverEvent } from './events/series-hover-event';
import { SeriesLeaveEvent } from './events/series-leave-event';
import { SeriesOverEvent } from './events/series-over-event';
import { ZoomEndEvent } from './events/zoom-end-event';
import { ZoomEvent } from './events/zoom-event';
import { ZoomStartEvent } from './events/zoom-start-event';
import { SeriesComponent } from './chart/series.component';
import { DrilldownEvent } from './events/drilldown-event';
import * as i0 from "@angular/core";
/**
 * Represents the Kendo UI Chart component for Angular.
 *
 * @example
 * ```html
 * <kendo-chart>
 *   <kendo-chart-legend [visible]="legendVisible">
 *   </kendo-chart-legend>
 *   <kendo-chart-series>
 *     <kendo-chart-series-item name="Series #1" type="line" [data]="[1, 2, 3]">
 *     </kendo-chart-series-item>
 *   </kendo-chart-series>
 * </kendo-chart>
 * ```
 *
 * @remarks
 * Supported children are: {@link SeriesComponent}, {@link SeriesDefaultsComponent}, {@link PanesComponent}, {@link PaneDefaultsComponent},
 * {@link CategoryAxisComponent}, {@link ValueAxisComponent}, {@link XAxisComponent}, {@link YAxisComponent}, {@link LegendComponent},
 * {@link ChartAreaComponent}, {@link PlotAreaComponent}, {@link TooltipComponent}, {@link SubtitleComponent}, {@link TitleComponent},
 * {@link ZoomableComponent}, {@link AxisDefaultsComponent}, {@link ChartCustomMessagesComponent} {@link PaneComponent}.
 */
export declare class ChartComponent implements ChartOptions, OnChanges, OnInit, OnDestroy, AfterViewInit, AfterViewChecked {
    configurationService: ConfigurationService;
    themeService: ThemeService;
    protected element: ElementRef;
    protected intl: IntlService;
    protected localizationService: LocalizationService;
    protected ngZone: NgZone;
    protected instanceEventService: InstanceEventService;
    protected changeDetector: ChangeDetectorRef;
    protected renderer: Renderer2;
    /**
     * Defines whether the Chart can be panned.
     * Panning is not available for the `Donut`, `Pie`, `Funnel`, `Pyramid`, `Polar`, and `Radar` series.
     * @default false
     */
    pannable: boolean | DragAction;
    /**
     * Defines the rendering mode of the Chart.
     * @default 'svg'
     */
    renderAs: 'svg' | 'canvas';
    /**
     * Defines the default colors for the Chart series.
     */
    seriesColors: string[];
    /**
     * Defines the subtitle configuration of the Chart.
     */
    subtitle: string | Subtitle;
    /**
     * Defines the title configuration of the Chart.
     */
    title: string | Title;
    /**
     * Defines whether to show the no-data template when the Chart has no data.
     * @default true
     */
    noData: boolean;
    /**
     * @hidden
     * Defines whether the Chart automatically repaints when its styles are modified through CSS variables.
     * @default true
     */
    observeStyles: boolean;
    /**
     * Defines whether the Chart plays animations when it displays the series.
     * By default, animations are enabled.
     * @default true
     */
    transitions: boolean;
    /**
     * Defines the zoom configuration of the Chart.
     */
    zoomable: boolean | Zoomable;
    /**
     * Defines the default configuration for all axes.
     */
    axisDefaults: AxisDefaults;
    /**
     * Defines the category axis configuration.
     */
    categoryAxis: CategoryAxis | CategoryAxis[];
    /**
     * Defines the Chart area configuration.
     */
    chartArea: ChartArea;
    /**
     * Defines the Chart legend configuration.
     */
    legend: Legend;
    /**
     * Defines the Chart panes configuration.
     */
    panes: Pane[];
    /**
     * Defines the default configuration for all panes.
     */
    paneDefaults: PaneDefaults;
    /**
     * Defines the plot area configuration.
     */
    plotArea: PlotArea;
    /**
     * Defines the Chart series configuration.
     */
    series: Series[];
    /**
     * Defines the default configuration for all series.
     */
    seriesDefaults: SeriesDefaults;
    /**
     * Defines the Chart tooltip configuration.
     */
    tooltip: Tooltip;
    /**
     * Defines the value axis configuration.
     */
    valueAxis: ValueAxis | ValueAxis[];
    /**
     * Defines the X axis configuration.
     */
    xAxis: XAxis | XAxis[];
    /**
     * Defines the Y axis configuration.
     */
    yAxis: YAxis | YAxis[];
    /**
     * Fires when you click an axis label ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     */
    axisLabelClick: EventEmitter<AxisLabelClickEvent>;
    /**
     * Fires as long as you drag the Chart with the mouse or through swipe gestures.
     */
    drag: EventEmitter<DragEvent>;
    /**
     * Fires when you stop dragging the Chart.
     */
    dragEnd: EventEmitter<DragEndEvent>;
    /**
     * Fires when you start dragging the Chart.
     */
    dragStart: EventEmitter<DragStartEvent>;
    /**
     * Fires when you hover over a legend item ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     */
    legendItemHover: EventEmitter<LegendItemHoverEvent>;
    /**
     * Fires when the cursor leaves a legend item.
     */
    legendItemLeave: EventEmitter<LegendItemLeaveEvent>;
    /**
     * Fires when you click a note.
     */
    noteClick: EventEmitter<NoteClickEvent>;
    /**
     * Fires when you hover over a note.
     */
    noteHover: EventEmitter<NoteHoverEvent>;
    /**
     * Fires when the cursor leaves a note.
     */
    noteLeave: EventEmitter<NoteLeaveEvent>;
    /**
     * Fires when a pane is rendered because the Chart is rendered, performs panning or zooming, or is exported with different options.
     * The event is used to render custom visuals in the panes.
     */
    paneRender: EventEmitter<PaneRenderEvent>;
    /**
     * Fires when you click the plot area ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     * The `click` event is triggered by the `tap` and `contextmenu` events.
     * To distinguish between the original events, inspect the `e.originalEvent.type` field.
     */
    plotAreaClick: EventEmitter<PlotAreaClickEvent>;
    /**
     * Fires when you hover the plot area ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     */
    plotAreaHover: EventEmitter<PlotAreaHoverEvent>;
    /**
     * Fires when the cursor leaves the plot area.
     */
    plotAreaLeave: EventEmitter<PlotAreaLeaveEvent>;
    /**
     * Fires when the Chart is ready to render on screen ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     * For example, you can use it to remove loading indicators.
     * Any changes made to the options are ignored.
     */
    render: EventEmitter<RenderEvent>;
    /**
     * Fires when you modify the selection.
     *
     * The range units include a generic axis category index (0-based) and a date axis represented by a date instance.
     */
    select: EventEmitter<SelectEvent>;
    /**
     * Fires when you complete the modification of the selection.
     *
     * The range units include a generic axis category index (0-based) and a date axis represented by a date instance.
     */
    selectEnd: EventEmitter<SelectEndEvent>;
    /**
     * Fires when you start modifying the axis selection.
     *
     * The range units include a generic axis category index (0-based) and a date axis represented by a date instance.
     */
    selectStart: EventEmitter<SelectStartEvent>;
    /**
     * Fires when you click the Chart series.
     *
     * The `click` event will be triggered by the `tap` and `contextmenu` events ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     * To distinguish between the original events, inspect the `e.originalEvent.type` field.
     */
    seriesClick: EventEmitter<SeriesClickEvent>;
    /**
     * Fires when you want to drill down on a specific point.
     */
    drilldown: EventEmitter<DrilldownEvent>;
    /**
     * Fires when you hover the Chart series ([see example](https://www.telerik.com/kendo-angular-ui/components/charts/events)).
     */
    seriesHover: EventEmitter<SeriesHoverEvent>;
    /**
     * Fires when the cursor enters a series.
     */
    seriesOver: EventEmitter<SeriesOverEvent>;
    /**
     * Fires when the cursor leaves a series.
     */
    seriesLeave: EventEmitter<SeriesLeaveEvent>;
    /**
     * Fires as long as you zoom the Chart by using the mousewheel operation.
     */
    zoom: EventEmitter<ZoomEvent>;
    /**
     * Fires when you stop zooming the Chart.
     */
    zoomEnd: EventEmitter<ZoomEndEvent>;
    /**
     * Fires when you use the mousewheel to zoom the Chart.
     */
    zoomStart: EventEmitter<ZoomStartEvent>;
    /**
     * Fires when a legend item is clicked before the selected series visibility is toggled.
     * You can prevent this event.
     */
    legendItemClick: EventEmitter<LegendItemClickEvent>;
    /**
     * Fires when the drill-down level has changed.
     */
    drilldownLevelChange: EventEmitter<number>;
    /**
     * Limits the automatic resizing of the Chart. Sets the maximum number of times per second
     * that the component redraws its content when the size of its container changes.
     * To disable the automatic resizing, set it to `0`.
     *
     * @default 10
     */
    resizeRateLimit: number;
    /**
     * Defines the settings for the tooltip popup.
     */
    popupSettings: PopupSettings;
    /**
     * Gets or sets the current drill-down level for [Drilldown Charts](https://www.telerik.com/kendo-angular-ui/components/charts/drill-down).
     *
     * To return to a previous level, set the value to a number less than the current level.
     * To return to the root chart, set the value to `0`.
     *
     * Setting the value to a number greater than the current level has no effect.
     */
    get drilldownLevel(): number;
    set drilldownLevel(level: number);
    /**
     * Represents the Drawing `Surface` of the Chart.
     */
    surface: Surface;
    seriesCollectionComponent: QueryList<SeriesComponent>;
    seriesComponents: QueryList<SeriesItemComponent>;
    donutCenterTemplate: DonutCenterTemplateDirective;
    noDataTemplate: NoDataTemplateDirective;
    tooltipInstance: TooltipPopupComponent;
    crossahirTooltips: CrosshairTooltipsContainerComponent;
    /**
     * @hidden
     */
    donutCenterStyle: any;
    /**
     * @hidden
     */
    messageFor(key: string): string;
    /**
     * @hidden
     */
    showLicenseWatermark: boolean;
    /**
     * @hidden
     */
    licenseMessage?: LicenseMessage;
    instance: any;
    protected options: any;
    protected theme: any;
    protected optionsChange: Subscription;
    protected suppressTransitions: boolean;
    protected resizeTimeout: any;
    protected redrawTimeout: any;
    protected domSubscriptions: () => void;
    protected destroyed: boolean;
    protected subscriptions: Subscription;
    protected rtl: boolean;
    protected hostClasses: string[];
    protected drilldownState: EmbeddedViewRef<any>[];
    constructor(configurationService: ConfigurationService, themeService: ThemeService, element: ElementRef, intl: IntlService, localizationService: LocalizationService, ngZone: NgZone, instanceEventService: InstanceEventService, changeDetector: ChangeDetectorRef, renderer: Renderer2);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    private onStyleChanged;
    private onDrilldown;
    ngAfterViewChecked(): void;
    ngOnChanges(changes: {
        [propertyName: string]: SimpleChange;
    }): void;
    /**
     * Updates the component fields with the specified values and refreshes the Chart.
     *
     * Use this method when the configuration values cannot be set through the template.
     *
     * @example
     * ```ts-no-run
     * chart.notifyChanges({ title: { text: 'New Title' } });
     * ```
     *
     * @param changes An object containing the updated input fields.
     */
    notifyChanges(changes: any): void;
    ngOnDestroy(): void;
    protected createInstance(element: any, observer: ChartInstanceObserver): void;
    /**
     * Exports the Chart as an image. The export operation is asynchronous and returns a promise.
     *
     * @param options - The parameters for the exported image.
     * @returns A promise that resolves with a PNG image encoded as a Data URI.
     */
    exportImage(options?: ImageExportOptions): Promise<string>;
    /**
     * Exports the Chart as an SVG document. The export operation is asynchronous and returns a promise.
     *
     * @param options - The parameters for the exported file.
     * @returns A promise that resolves with an SVG document encoded as a Data URI.
     */
    exportSVG(options?: ChartSVGExportOptions): Promise<string>;
    /**
     * Exports the Chart as a Drawing `Scene`.
     *
     * @param options - The parameters for the export operation.
     * @returns The root `Group` of the scene.
     */
    exportVisual(options?: ChartVisualExportOptions | any): Group;
    /**
     * Returns the axis with the specified name.
     *
     * @param name - The axis name.
     * @returns The axis with a corresponding name.
     */
    findAxisByName(name: string): ChartAxis;
    /**
     * Returns the pane at the specified index.
     *
     * @param index - The pane index.
     * @returns The pane at the specified index.
     */
    findPaneByIndex(index: number): ChartPane;
    /**
     * Returns the pane with the specified name.
     *
     * @param name - The name of the pane.
     * @returns The pane with the provided name.
     */
    findPaneByName(name: string): ChartPane;
    /**
     * Returns the plot area of the Chart.
     *
     * @returns The plot area of the Chart.
     */
    getPlotArea(): ChartPlotArea;
    /**
     * Highlights the series points or the segments of a Pie, Donut, Funnel, or Pyramid Charts.
     *
     * See [Series Highlight](https://www.telerik.com/kendo-angular-ui/components/charts/elements/series-highlight) for more details (with an [example](https://www.telerik.com/kendo-angular-ui/components/charts/elements/series-highlight#toggling-the-highlight-with-code)).
     *
     * @param show - A Boolean value that indicates whether the highlight is shown or hidden.
     * @param filter - A string that represents the series or category name, an object with the series and category name, or a function which will be called for each point. The function should return `true` for the points for which the highlight is toggled.
     */
    toggleHighlight(show: boolean, filter: string | {
        category: string;
        series: string;
    } | {
        (point: SeriesPoint): boolean;
    }): void;
    /**
     * Hides the tooltip of the Chart.
     */
    hideTooltip(): void;
    /**
     * Shows the Chart tooltip of a specific point or the shared tooltip of a specific category.
     *
     * @param filter - The category for a shared tooltip or a function which will be called for each point until the function returns `true`.
     */
    showTooltip(filter: number | string | Date | {
        (point: SeriesPoint): boolean;
    }): void;
    protected init(): void;
    /**
     * Detects the size of the container and redraws the Chart.
     * Resizing is automatic unless you set the `resizeRateLimit` option to `0`.
     */
    resize(): void;
    /**
     * @hidden
     */
    onResize(): void;
    /**
     * Reloads the Chart appearance settings from the current [Kendo UI Theme](https://www.telerik.com/kendo-angular-ui/components/common/components/styling).
     *
     * Call this method after loading a different theme stylesheet.
     */
    reloadTheme(): void;
    protected onLegendItemClick(e: any): void;
    protected onInit(e: any): void;
    protected onRender(e: any): void;
    protected onShowTooltip(e: any): void;
    protected onHideTooltip(e: any): void;
    protected trigger(name: string, e: any): boolean;
    protected requiresHandlers(names: string[]): boolean;
    protected refresh(): void;
    protected setChartAreaSize(): void;
    protected updateOptions(): void;
    /**
     * @hidden
     */
    tooltipMouseleave(e: any): void;
    /**
     * @hidden
     */
    chartMouseleave(e: any): void;
    protected get canRender(): boolean;
    protected get autoResize(): boolean;
    protected activeEmitter(name: string): any;
    protected getDonutCenterStyle(): any;
    protected refreshWait(): void;
    protected run(callback: any, inZone?: boolean, detectChanges?: boolean): void;
    protected detectChanges(): void;
    protected intlChange(): void;
    protected rtlChange(): void;
    protected deferredRedraw(): void;
    protected updateDirection(): void;
    protected setDirection(): void;
    protected get isRTL(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChartComponent, "kendo-chart", ["kendoChart"], { "pannable": { "alias": "pannable"; "required": false; }; "renderAs": { "alias": "renderAs"; "required": false; }; "seriesColors": { "alias": "seriesColors"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "title": { "alias": "title"; "required": false; }; "noData": { "alias": "noData"; "required": false; }; "observeStyles": { "alias": "observeStyles"; "required": false; }; "transitions": { "alias": "transitions"; "required": false; }; "zoomable": { "alias": "zoomable"; "required": false; }; "axisDefaults": { "alias": "axisDefaults"; "required": false; }; "categoryAxis": { "alias": "categoryAxis"; "required": false; }; "chartArea": { "alias": "chartArea"; "required": false; }; "legend": { "alias": "legend"; "required": false; }; "panes": { "alias": "panes"; "required": false; }; "paneDefaults": { "alias": "paneDefaults"; "required": false; }; "plotArea": { "alias": "plotArea"; "required": false; }; "series": { "alias": "series"; "required": false; }; "seriesDefaults": { "alias": "seriesDefaults"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "valueAxis": { "alias": "valueAxis"; "required": false; }; "xAxis": { "alias": "xAxis"; "required": false; }; "yAxis": { "alias": "yAxis"; "required": false; }; "resizeRateLimit": { "alias": "resizeRateLimit"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; "drilldownLevel": { "alias": "drilldownLevel"; "required": false; }; }, { "axisLabelClick": "axisLabelClick"; "drag": "drag"; "dragEnd": "dragEnd"; "dragStart": "dragStart"; "legendItemHover": "legendItemHover"; "legendItemLeave": "legendItemLeave"; "noteClick": "noteClick"; "noteHover": "noteHover"; "noteLeave": "noteLeave"; "paneRender": "paneRender"; "plotAreaClick": "plotAreaClick"; "plotAreaHover": "plotAreaHover"; "plotAreaLeave": "plotAreaLeave"; "render": "render"; "select": "select"; "selectEnd": "selectEnd"; "selectStart": "selectStart"; "seriesClick": "seriesClick"; "drilldown": "drilldown"; "seriesHover": "seriesHover"; "seriesOver": "seriesOver"; "seriesLeave": "seriesLeave"; "zoom": "zoom"; "zoomEnd": "zoomEnd"; "zoomStart": "zoomStart"; "legendItemClick": "legendItemClick"; "drilldownLevelChange": "drilldownLevelChange"; }, ["donutCenterTemplate", "noDataTemplate", "seriesCollectionComponent", "seriesComponents"], never, true, never>;
}
