import { OnDestroy } from '@angular/core';
import { NgxPuzzleCanvasBaseComponent } from '../base/ngx-puzzle-canvas-base.component';
import { ComponentChartProps, ComponentConfig, DataRequestConfig } from 'ngx-puzzle/core/interfaces';
import { mainTypes } from 'ngx-puzzle/core/types';
import { ChartTypesEnum } from 'ngx-puzzle/core/enums';
import { SafeAny } from 'ngx-tethys/types';
import { PuzzleCanvasMediatorService } from 'ngx-puzzle/core';
import * as i0 from "@angular/core";
export declare class NgxPuzzleChartComponent extends NgxPuzzleCanvasBaseComponent<ComponentChartProps, ChartTypesEnum> implements OnDestroy {
    dataKey: mainTypes;
    private mockService;
    private cacheData;
    private dataStreamSubscriptions;
    private lastApiSources;
    set config(config: ComponentConfig<ComponentChartProps, ChartTypesEnum>);
    get config(): ComponentConfig<ComponentChartProps, ChartTypesEnum>;
    private httpService;
    constructor(mediator: PuzzleCanvasMediatorService<ComponentChartProps, ChartTypesEnum>);
    getDefaultOptions(subType: ChartTypesEnum): SafeAny;
    updateData(requestData: DataRequestConfig): void;
    afterUpdateConfig(): void;
    setBaseDataRequest(): void;
    /**
     * 处理系列变化，检测哪些系列缺少数据并进行补全
     */
    private handleSeriesChanges;
    /**
     * 为指定的系列更新数据（支持系列名称智能匹配）
     */
    private updateDataForSeriesWithNames;
    private updateDataIncrementallyByApi;
    private updateDataCompletelyByApi;
    /**
     * 同步数据缓存与数据流变化
     */
    private syncDataCacheWithStreams;
    /**
     * 检测数据流变化，返回变化的索引
     */
    private getDataStreamChanges;
    /**
     * 根据索引数组更新数据
     */
    private updateDataByIndexes;
    /**
     * 处理指定索引的数据
     */
    private processDataForIndex;
    /**
     * 设置缓存数据
     */
    private setCachedData;
    /**
     * 删除缓存数据
     */
    private removeCachedData;
    /**
     * 清理指定索引的订阅
     */
    private cleanupSubscription;
    /**
     * 清理所有订阅和缓存
     */
    private cleanupAll;
    private updateChartData;
    private normalizeSeries;
    private extractSeriesDataPayload;
    private ensureSeriesItem;
    private updateDataForSeries;
    /**
     * 处理系列绑定删除 - 重写基类方法
     */
    protected handleSeriesBindingDelete(seriesIndex: number): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPuzzleChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxPuzzleChartComponent, "puzzle-chart", never, {}, {}, never, never, true, never>;
}
