import { OnInit } from '@angular/core';
import { MonitorsSlaCompletionMonitorService } from 'e5core-angular-services';
import { MonitorsSlaCompletionMonitorModel } 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 declare class MockSlaCompletionService {
    getMockedSlaCompletionCounts(): Observable<MonitorsSlaCompletionMonitorModel>;
}
export declare class E5coreUiMonitorSlaCompletionHighchartsComponent implements OnInit {
    private monitorService;
    private datePipe;
    constructor(monitorService: MonitorsSlaCompletionMonitorService, datePipe: DatePipe);
    slaRangeInDays: number;
    categorisation: number[];
    model: MonitorsSlaCompletionMonitorModel;
    startDate: string;
    endDate: string;
    Highcharts: any;
    chartConstructor: string;
    chartOptions: {
        chart: {
            type: string;
            events: {
                drilldown: (event: any) => void;
            };
        };
        title: {
            text: string;
            style: {
                'fontSize': string;
                'font-weight': string;
            };
        };
        xAxis: {
            categories: any[];
            title: {
                rotation: number;
            };
        };
        yAxis: ({
            min: number;
            title: {
                text: string;
            };
            labels: {
                x: number;
                format?: undefined;
            };
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
            opposite?: undefined;
        } | {
            min: number;
            title: {
                text: string;
            };
            opposite: boolean;
            labels: {
                x: number;
                format: string;
            };
            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;
            };
        };
        tooltip: {
            headerFormat: string;
            pointFormat: string;
        };
        plotOptions: {
            series: {
                stacking: string;
                dataLabels: {
                    enabled: boolean;
                    align: string;
                    color: string;
                };
            };
        };
        series: {
            name: string;
            color: string;
            data: any[];
        }[];
        drilldown: {
            series: any[];
        };
    };
    chartCallback: any;
    updateFlag: boolean;
    oneToOneFlag: boolean;
    runOutsideAngularFlag: boolean;
    mockCompletionService: MockSlaCompletionService;
    isMocked: boolean;
    currentDate: Date;
    optionMonths: OptionMonth[];
    currentDateRange: DateRange;
    selectedOptionMonth: OptionMonth;
    selectedMonthViewValue: string;
    ngOnInit(): void;
    private addMonths;
    private addToOptionMonths;
    private convertToMonthNumber;
    private alterSelectedMonthOption;
    reloadChart($event: MatSelectChange): void;
    private instantiateOptionMonths;
    LoadChartObject(startDate: any, endDate: any, siteGroup?: any, category1Id?: any, category2Id?: any, category3Id?: any, archive?: any, totalProperty?: any): void;
    private extractXAxis;
    private extractSeries;
    private drillDown;
    createChartOptions(): {
        chart: {
            type: string;
            events: {
                drilldown: (event: any) => void;
            };
        };
        title: {
            text: string;
            style: {
                'fontSize': string;
                'font-weight': string;
            };
        };
        xAxis: {
            categories: any[];
            title: {
                rotation: number;
            };
        };
        yAxis: ({
            min: number;
            title: {
                text: string;
            };
            labels: {
                x: number;
                format?: undefined;
            };
            stackLabels: {
                enabled: boolean;
                style: {
                    fontWeight: string;
                    color: string;
                };
            };
            opposite?: undefined;
        } | {
            min: number;
            title: {
                text: string;
            };
            opposite: boolean;
            labels: {
                x: number;
                format: string;
            };
            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;
            };
        };
        tooltip: {
            headerFormat: string;
            pointFormat: string;
        };
        plotOptions: {
            series: {
                stacking: string;
                dataLabels: {
                    enabled: boolean;
                    align: string;
                    color: string;
                };
            };
        };
        series: {
            name: string;
            color: string;
            data: any[];
        }[];
        drilldown: {
            series: any[];
        };
    };
    injectMockInformation(startDate: string, endDate: string): void;
    onNavigationCategoryClick(categoryName: any): void;
}
