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;
    customErrorContainer: TemplateRef<unknown>;
    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);
    ticks: unknown;
    yAxisTickFormatter: string | ((value: number) => string);
    yAxisMinStep?: number;
    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;
    minHeight: 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(): "item" | "none" | "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": { "alias": "backgroundColor"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "customNoDataTitle": { "alias": "customNoDataTitle"; "required": false; }; "customErrorContainer": { "alias": "customErrorContainer"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "gridOffsetTop": { "alias": "gridOffsetTop"; "required": false; }; "rotated": { "alias": "rotated"; "required": false; }; "chartType": { "alias": "chartType"; "required": false; }; "series": { "alias": "series"; "required": false; }; "xAccessor": { "alias": "xAccessor"; "required": false; }; "yAccessor": { "alias": "yAccessor"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "contextCallbackFunction": { "alias": "contextCallbackFunction"; "required": false; }; "title": { "alias": "title"; "required": false; }; "hideTitle": { "alias": "hideTitle"; "required": false; }; "titleDescription": { "alias": "titleDescription"; "required": false; }; "titleDescriptionContext": { "alias": "titleDescriptionContext"; "required": false; }; "titleOffsetX": { "alias": "titleOffsetX"; "required": false; }; "hideLegend": { "alias": "hideLegend"; "required": false; }; "legendTemplate": { "alias": "legendTemplate"; "required": false; }; "leftOperation": { "alias": "leftOperation"; "required": false; }; "leftOperationContext": { "alias": "leftOperationContext"; "required": false; }; "rightOperation": { "alias": "rightOperation"; "required": false; }; "legendSelectAllOperation": { "alias": "legendSelectAllOperation"; "required": false; }; "legendSelectAllName": { "alias": "legendSelectAllName"; "required": false; }; "yAxisTickSuffix": { "alias": "yAxisTickSuffix"; "required": false; }; "dateAxisLabelFormats": { "alias": "dateAxisLabelFormats"; "required": false; }; "xAxisLabelTranslation": { "alias": "xAxisLabelTranslation"; "required": false; }; "xScaleType": { "alias": "xScaleType"; "required": false; }; "xAxisTickFormatter": { "alias": "xAxisTickFormatter"; "required": false; }; "ticks": { "alias": "ticks"; "required": false; }; "yAxisTickFormatter": { "alias": "yAxisTickFormatter"; "required": false; }; "yAxisMinStep": { "alias": "yAxisMinStep"; "required": false; }; "tooltipTrigger": { "alias": "tooltipTrigger"; "required": false; }; "tooltipAutoSort": { "alias": "tooltipAutoSort"; "required": false; }; "tooltipHideTitle": { "alias": "tooltipHideTitle"; "required": false; }; "tooltipColumnLayout": { "alias": "tooltipColumnLayout"; "required": false; }; "tooltipTitleTemplate": { "alias": "tooltipTitleTemplate"; "required": false; }; "tooltipPointNameTemplate": { "alias": "tooltipPointNameTemplate"; "required": false; }; "tooltipTranslation": { "alias": "tooltipTranslation"; "required": false; }; "tooltipTitleTranslation": { "alias": "tooltipTitleTranslation"; "required": false; }; "hideTooltipUnit": { "alias": "hideTooltipUnit"; "required": false; }; "tooltipPointFormat": { "alias": "tooltipPointFormat"; "required": false; }; "tooltipPointTemplate": { "alias": "tooltipPointTemplate"; "required": false; }; "tooltipPointTemplateContext": { "alias": "tooltipPointTemplateContext"; "required": false; }; "bandWidth": { "alias": "bandWidth"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "stepLine": { "alias": "stepLine"; "required": false; }; "curveType": { "alias": "curveType"; "required": false; }; "barType": { "alias": "barType"; "required": false; }; "startOpacity": { "alias": "startOpacity"; "required": false; }; "endOpacity": { "alias": "endOpacity"; "required": false; }; "lineWidth": { "alias": "lineWidth"; "required": false; }; "isGroup": { "alias": "isGroup"; "required": false; }; "barRadius": { "alias": "barRadius"; "required": false; }; "closeRadiusLadder": { "alias": "closeRadiusLadder"; "required": false; }; "columnClick": { "alias": "columnClick"; "required": false; }; "enableZoom": { "alias": "enableZoom"; "required": false; }; "chartStatus": { "alias": "chartStatus"; "required": false; }; "yPlotLinesHide": { "alias": "yPlotLinesHide"; "required": false; }; "yPlotLines": { "alias": "yPlotLines"; "required": false; }; "pieInnerRadius": { "alias": "pieInnerRadius"; "required": false; }; "pieOuterRadius": { "alias": "pieOuterRadius"; "required": false; }; "pieStartAngle": { "alias": "pieStartAngle"; "required": false; }; "pieEndAngle": { "alias": "pieEndAngle"; "required": false; }; "pieBackgroundColor": { "alias": "pieBackgroundColor"; "required": false; }; "pieTotal": { "alias": "pieTotal"; "required": false; }; "pieInnerDisc": { "alias": "pieInnerDisc"; "required": false; }; "pieLabelText": { "alias": "pieLabelText"; "required": false; }; "pieLabelPosition": { "alias": "pieLabelPosition"; "required": false; }; "pieItemStyle": { "alias": "pieItemStyle"; "required": false; }; "scatterType": { "alias": "scatterType"; "required": false; }; "scatterOpacity": { "alias": "scatterOpacity"; "required": false; }; "scatterSize": { "alias": "scatterSize"; "required": false; }; "scatterThreshold": { "alias": "scatterThreshold"; "required": false; }; "xPlotLines": { "alias": "xPlotLines"; "required": false; }; }, { "mouseUpEvent": "mouseUpEvent"; "markClickEvent": "markClickEvent"; "refreshEvent": "refreshEvent"; }, never, never, false, never>;
}
