import { OnInit } from '@angular/core';
import { MonitorsSlaTeamProductivityCompletionMonitorService } from 'e5core-angular-services';
import { MonitorsSlaTeamProductivityFacetimeMonitorService } from 'e5core-angular-services';
import { MonitorsSlaTeamProductivityCompletionMonitorModel } from 'e5core-angular-services';
import { MonitorsSlaTeamProductivityFacetimeMonitorModel } from 'e5core-angular-services';
import { DatePipe } from '@angular/common';
import { MatSelectChange } from '@angular/material';
import { Observable } from 'rxjs';
export interface OptionMonth {
    value: DateRange;
    viewValue: string;
}
export interface DateRange {
    startDate: Date;
    endDate: Date;
}
export interface FinalModel {
    completionModel: MonitorsSlaTeamProductivityCompletionMonitorModel;
    faceTimeModel: MonitorsSlaTeamProductivityFacetimeMonitorModel;
}
export declare class MockCompletionService {
    getMockedSlaTeamProductivityCompletionCounts(): Observable<MonitorsSlaTeamProductivityCompletionMonitorModel>;
}
export declare class MockFaceTimeService {
    getMockedSlaTeamProductivityFacetimeCounts(): Observable<MonitorsSlaTeamProductivityFacetimeMonitorModel>;
}
export declare class E5coreUiMonitorSlaTeamProductivityHighchartsComponent implements OnInit {
    private monitorCompletionService;
    private monitorFacetimeService;
    private datePipe;
    constructor(monitorCompletionService: MonitorsSlaTeamProductivityCompletionMonitorService, monitorFacetimeService: MonitorsSlaTeamProductivityFacetimeMonitorService, datePipe: DatePipe);
    mockCompletionService: MockCompletionService;
    mockFaceTimeService: MockFaceTimeService;
    finalModel: Observable<FinalModel>;
    model: FinalModel;
    completionModel: MonitorsSlaTeamProductivityCompletionMonitorModel;
    faceTimeModel: MonitorsSlaTeamProductivityFacetimeMonitorModel;
    Highcharts: any;
    chartConstructor: string;
    chartOptions: {
        chart: {
            alignTicks: boolean;
            events: {
                drilldown: (event: any) => void;
            };
        };
        exporting: {
            enabled: boolean;
        };
        title: {
            text: string;
            style: {
                'fontSize': string;
                'font-weight': string;
            };
        };
        xAxis: {
            categories: any[];
            title: {
                rotation: number;
            };
        };
        yAxis: ({
            min: number;
            title: {
                text: string;
            };
            labels: {
                enabled: boolean;
            };
            height: number;
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
            top?: undefined;
            opposite?: undefined;
        } | {
            min: number;
            title: {
                text: string;
            };
            height: number;
            top: number;
            opposite: boolean;
            labels: {
                enabled: boolean;
            };
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
        })[];
        legend: {
            align: string;
            x: number;
            verticalAlign: string;
            y: number;
            floating: boolean;
            backgroundColor: string;
            borderColor: string;
            borderWidth: number;
            shadow: boolean;
            itemStyle: {
                fontSize: string;
                font: string;
            };
        };
        navigator: {
            adaptToUpdatedData: boolean;
            enabled: boolean;
            xAxis: {
                id: string;
                type: string;
                ordinal: boolean;
                labels: {
                    format: string;
                };
                minTickInterval: number;
            };
            series: {
                marker: boolean;
            };
        };
        rangeSelector: {
            enabled: boolean;
            allButtonsEnabled: boolean;
            verticalAlign: string;
            buttons: ({
                type: string;
                count: number;
                text: string;
            } | {
                type: string;
                text: string;
                count?: undefined;
            })[];
            selected: number;
            inputEnabled: boolean;
        };
        tooltip: {
            shared: boolean;
            useHTML: boolean;
            formatter: () => string;
        };
        plotOptions: {
            column: {
                stacking: string;
            };
            series: {
                dataLabels: {
                    enabled: boolean;
                    align: string;
                    color: string;
                };
                dataGrouping: {
                    units: (string | number[])[][];
                };
                events: {
                    legendItemClick: (event: MouseEvent) => void;
                };
            };
        };
        series: {
            name: string;
            type: string;
            data: number[];
        }[];
    };
    chartCallback: any;
    updateFlag: boolean;
    oneToOneFlag: boolean;
    runOutsideAngularFlag: boolean;
    currentDate: Date;
    optionMonths: OptionMonth[];
    currentDateRange: DateRange;
    selectedOptionMonth: OptionMonth;
    selectedMonthViewValue: string;
    groupingUnits: (string | number[])[][];
    ngOnInit(): void;
    private addMonths;
    private addToOptionMonths;
    private alterSelectedMonthOption;
    reloadChart($event: MatSelectChange): void;
    private instantiateOptionMonths;
    private mergeServiceCalls;
    LoadChartObject(startDate: any, endDate: any, category1Id?: any, category2Id?: any, category3Id?: any, statuses?: any, calculatedIntervals?: any, userGroupsId?: any, concatPivotFields?: any, debug?: any): void;
    private extractXAxis;
    private extractSeries;
    private determineColorFromIndex;
    private drillDown;
    createChartOptions(): {
        chart: {
            alignTicks: boolean;
            events: {
                drilldown: (event: any) => void;
            };
        };
        exporting: {
            enabled: boolean;
        };
        title: {
            text: string;
            style: {
                'fontSize': string;
                'font-weight': string;
            };
        };
        xAxis: {
            categories: any[];
            title: {
                rotation: number;
            };
        };
        yAxis: ({
            min: number;
            title: {
                text: string;
            };
            labels: {
                enabled: boolean;
            };
            height: number;
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
            top?: undefined;
            opposite?: undefined;
        } | {
            min: number;
            title: {
                text: string;
            };
            height: number;
            top: number;
            opposite: boolean;
            labels: {
                enabled: boolean;
            };
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
        })[];
        legend: {
            align: string;
            x: number;
            verticalAlign: string;
            y: number;
            floating: boolean;
            backgroundColor: string;
            borderColor: string;
            borderWidth: number;
            shadow: boolean;
            itemStyle: {
                fontSize: string;
                font: string;
            };
        };
        navigator: {
            adaptToUpdatedData: boolean;
            enabled: boolean;
            xAxis: {
                id: string;
                type: string;
                ordinal: boolean;
                labels: {
                    format: string;
                };
                minTickInterval: number;
            };
            series: {
                marker: boolean;
            };
        };
        rangeSelector: {
            enabled: boolean;
            allButtonsEnabled: boolean;
            verticalAlign: string;
            buttons: ({
                type: string;
                count: number;
                text: string;
            } | {
                type: string;
                text: string;
                count?: undefined;
            })[];
            selected: number;
            inputEnabled: boolean;
        };
        tooltip: {
            shared: boolean;
            useHTML: boolean;
            formatter: () => string;
        };
        plotOptions: {
            column: {
                stacking: string;
            };
            series: {
                dataLabels: {
                    enabled: boolean;
                    align: string;
                    color: string;
                };
                dataGrouping: {
                    units: (string | number[])[][];
                };
                events: {
                    legendItemClick: (event: MouseEvent) => void;
                };
            };
        };
        series: {
            name: string;
            type: string;
            data: number[];
        }[];
    };
    onClick(eventThis: any, eventData: MouseEvent): void;
    userFriendlyTime(value: any, timeType: any, fullTextLabels: any, showMiddleZeroes: any, precisionName: any, showZeros: any): string;
    formatterFunction(eventThis: any): string;
    injectMockInformation(startDate: string, endDate: string): void;
    onNavigationCategoryClick(categoryName: any): void;
}
