import { AChart, BarColumnParams, BarSeriesOption, ChartData, LineSeriesOption, ViewOptions, Percentage, PieSeriesOption, ScaleType, TooltipContext, TooltipContextItem, View } from '@alauda/chart';
import { AfterViewInit, ApplicationRef, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter, Injector, OnChanges, OnDestroy, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { CurveFactory, CurveFactoryLineOnly } from 'd3';
import { BehaviorSubject, Observable } from 'rxjs';
import { AreaPosition, ChartDataItem, ChartStatus, ContextItem, StringMap, TranslateService, XPlotLines } from '../public-api';
import { LegendComponent } from './legend/legend.component';
import * as i0 from "@angular/core";
export declare class ViewChartComponent implements OnChanges, AfterViewInit, OnDestroy {
    private readonly componentFactoryResolver;
    private readonly injector;
    private readonly appRef;
    private readonly translate;
    private readonly cdr;
    private readonly viewContainerRef;
    backgroundColor: string;
    hideHeader: boolean;
    chartContainer: ElementRef;
    titleContainer: TemplateRef<unknown>;
    tooltipItemVirtual: ElementRef;
    tooltipTitleVirtual: ElementRef;
    tooltipNameVirtual: ElementRef;
    pieLabelContainer: TemplateRef<unknown>;
    mode: 'card' | 'default';
    customNoDataTitle: TemplateRef<unknown> | string;
    marginLeft: number;
    gridOffsetTop: number;
    rotated: boolean;
    chartType: 'line' | 'area' | 'bar' | 'pie' | 'scatter';
    series: ChartData[];
    series$: Observable<ChartData[]>;
    xAccessor: (d: ChartDataItem) => string | number | Date;
    yAccessor: (d: ChartDataItem) => number;
    unit: string;
    unit$: Observable<string>;
    contextCallbackFunction: (context: View) => void;
    title: string | TemplateRef<unknown>;
    hideTitle: boolean;
    titleDescription: string | TemplateRef<unknown>;
    titleDescriptionContext: StringMap;
    titleOffsetX: number;
    hideLegend: boolean;
    legendTemplate: TemplateRef<unknown> | string;
    leftOperation: TemplateRef<unknown>;
    leftOperationContext: StringMap;
    leftOperation$: Observable<TemplateRef<unknown>>;
    rightOperation: TemplateRef<unknown>;
    rightOperation$: Observable<TemplateRef<unknown>>;
    legendSelectAllOperation: boolean;
    legendSelectAllName: string;
    yAxisTickSuffix: string;
    dateAxisLabelFormats: string;
    xAxisLabelTranslation: boolean;
    xScaleType: ScaleType;
    xAxisTickFormatter: string | ((value: string) => string);
    yAxisTickFormatter: string | ((value: number) => string);
    tooltipTrigger: 'axis' | 'item' | 'none';
    tooltipAutoSort: boolean;
    tooltipHideTitle: boolean;
    tooltipColumnLayout: boolean;
    tooltipTitleTemplate: TemplateRef<unknown>;
    tooltipPointNameTemplate: TemplateRef<unknown>;
    tooltipTranslation: boolean;
    tooltipTitleTranslation: boolean;
    hideTooltipUnit: boolean;
    tooltipPointFormat: (d: ContextItem) => number | string;
    tooltipPointTemplate: TemplateRef<unknown>;
    tooltipPointTemplateContext: unknown;
    bandWidth: number;
    stepLine: boolean;
    curveType: CurveFactory | CurveFactoryLineOnly;
    barType: 'standard' | 'stacked';
    startOpacity: number;
    endOpacity: number;
    lineWidth?: number;
    isGroup: boolean;
    barRadius: number;
    closeRadiusLadder: boolean;
    columnClick: (data: BarColumnParams) => void;
    enableZoom: boolean;
    chartStatus: ChartStatus;
    yPlotLinesHide: boolean;
    yPlotLines: TooltipContext;
    pieInnerRadius: number | Percentage;
    pieOuterRadius: number | Percentage;
    pieStartAngle: number;
    pieEndAngle: number;
    pieBackgroundColor: string;
    pieTotal: number;
    pieInnerDisc: boolean;
    pieLabelText: string | TemplateRef<unknown>;
    pieLabelPosition: {
        x: string;
        y: string;
    };
    pieItemStyle?: {
        borderRadius?: number;
    };
    scatterType: 'bubble';
    scatterOpacity: number;
    scatterSize: number;
    scatterThreshold: {
        minSize: number;
        maxSize: number;
    };
    yPlotLines$: Observable<TooltipContext>;
    xPlotLines: XPlotLines;
    xPlotLines$: Observable<XPlotLines>;
    chartStatus$: Observable<ChartStatus>;
    mouseUpEvent: EventEmitter<AreaPosition>;
    markClickEvent: EventEmitter<TooltipContext>;
    refreshEvent: EventEmitter<any>;
    private readonly onDestroy$;
    _chartStatus$$: BehaviorSubject<ChartStatus>;
    _status: ChartStatus;
    chart: AChart;
    areaPosition: AreaPosition;
    status$: Observable<{
        loading?: boolean;
        noData?: boolean;
        failed?: boolean;
        noLegend?: boolean;
    }>;
    get background(): string;
    isTemplateRef: (label: any) => label is TemplateRef<unknown>;
    customLegendRef: ComponentRef<LegendComponent>;
    customTitleRef: EmbeddedViewRef<unknown>;
    customPieLabelTextRef: EmbeddedViewRef<unknown>;
    tooltipItemContext: {
        context: TooltipContextItem[];
    };
    tooltipTitleContext: {
        context: TooltipContext;
    };
    get seriesOptions(): BarSeriesOption | LineSeriesOption | PieSeriesOption | {
        type: "bubble";
        opacity: number;
        minSize: number;
        maxSize: number;
        size: number;
    };
    get isCardMode(): boolean;
    get scaleType(): ScaleType;
    get isScaleTime(): boolean;
    get options(): ViewOptions;
    get tooltipTriggerType(): "none" | "item" | "axis";
    getTriggerType(): "none" | "axis" | "item";
    constructor(componentFactoryResolver: ComponentFactoryResolver, injector: Injector, appRef: ApplicationRef, translate: TranslateService, cdr: ChangeDetectorRef, viewContainerRef: ViewContainerRef);
    ngOnChanges({ enableZoom }: SimpleChanges): void;
    ngAfterViewInit(): void;
    handelData(data: ChartData[]): {
        values: ({
            x: string | number | Date;
            y: number;
            name?: string;
            size?: number;
            color?: string;
            value?: number;
        } | {
            x: string | number | Date;
            y: number;
            name?: string;
            size?: number;
            color?: string;
        })[];
        name: string;
        color?: string;
        value?: number;
    }[];
    addCustomLegend(chartUId: string): void;
    addCustomTitle(chartUId: string): void;
    addPieLabelText(chartUId: string): void;
    refresh(): void;
    ngOnDestroy(): void;
    private readonly mergePointContext;
    private handelChartStatus;
    private limitMaxContext;
    private readonly defaultPointFormat;
    private conversionMaximum;
    private readonly titleFormatter;
    private readonly valueFormatter;
    static ɵfac: i0.ɵɵFactoryDeclaration<ViewChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ViewChartComponent, "acl-view-chart", never, { "backgroundColor": "backgroundColor"; "hideHeader": "hideHeader"; "mode": "mode"; "customNoDataTitle": "customNoDataTitle"; "marginLeft": "marginLeft"; "gridOffsetTop": "gridOffsetTop"; "rotated": "rotated"; "chartType": "chartType"; "series": "series"; "xAccessor": "xAccessor"; "yAccessor": "yAccessor"; "unit": "unit"; "contextCallbackFunction": "contextCallbackFunction"; "title": "title"; "hideTitle": "hideTitle"; "titleDescription": "titleDescription"; "titleDescriptionContext": "titleDescriptionContext"; "titleOffsetX": "titleOffsetX"; "hideLegend": "hideLegend"; "legendTemplate": "legendTemplate"; "leftOperation": "leftOperation"; "leftOperationContext": "leftOperationContext"; "rightOperation": "rightOperation"; "legendSelectAllOperation": "legendSelectAllOperation"; "legendSelectAllName": "legendSelectAllName"; "yAxisTickSuffix": "yAxisTickSuffix"; "dateAxisLabelFormats": "dateAxisLabelFormats"; "xAxisLabelTranslation": "xAxisLabelTranslation"; "xScaleType": "xScaleType"; "xAxisTickFormatter": "xAxisTickFormatter"; "yAxisTickFormatter": "yAxisTickFormatter"; "tooltipTrigger": "tooltipTrigger"; "tooltipAutoSort": "tooltipAutoSort"; "tooltipHideTitle": "tooltipHideTitle"; "tooltipColumnLayout": "tooltipColumnLayout"; "tooltipTitleTemplate": "tooltipTitleTemplate"; "tooltipPointNameTemplate": "tooltipPointNameTemplate"; "tooltipTranslation": "tooltipTranslation"; "tooltipTitleTranslation": "tooltipTitleTranslation"; "hideTooltipUnit": "hideTooltipUnit"; "tooltipPointFormat": "tooltipPointFormat"; "tooltipPointTemplate": "tooltipPointTemplate"; "tooltipPointTemplateContext": "tooltipPointTemplateContext"; "bandWidth": "bandWidth"; "stepLine": "stepLine"; "curveType": "curveType"; "barType": "barType"; "startOpacity": "startOpacity"; "endOpacity": "endOpacity"; "lineWidth": "lineWidth"; "isGroup": "isGroup"; "barRadius": "barRadius"; "closeRadiusLadder": "closeRadiusLadder"; "columnClick": "columnClick"; "enableZoom": "enableZoom"; "chartStatus": "chartStatus"; "yPlotLinesHide": "yPlotLinesHide"; "yPlotLines": "yPlotLines"; "pieInnerRadius": "pieInnerRadius"; "pieOuterRadius": "pieOuterRadius"; "pieStartAngle": "pieStartAngle"; "pieEndAngle": "pieEndAngle"; "pieBackgroundColor": "pieBackgroundColor"; "pieTotal": "pieTotal"; "pieInnerDisc": "pieInnerDisc"; "pieLabelText": "pieLabelText"; "pieLabelPosition": "pieLabelPosition"; "pieItemStyle": "pieItemStyle"; "scatterType": "scatterType"; "scatterOpacity": "scatterOpacity"; "scatterSize": "scatterSize"; "scatterThreshold": "scatterThreshold"; "xPlotLines": "xPlotLines"; }, { "mouseUpEvent": "mouseUpEvent"; "markClickEvent": "markClickEvent"; "refreshEvent": "refreshEvent"; }, never, never, false>;
}
