import { OnInit, ChangeDetectorRef } from '@angular/core';
import 'bootstrap';
import { ModalControl } from '../modal-control/modal-control.component';
import { UploadExcelOption, Validation, ConfigResult } from './upload-excel-control.model';
import { ExcelService } from '../../services/excel/excel.service';
import { UtilityService } from '../../services/utility/utility.service';
import { LoadingService } from '../../services/loading/loading.service';
import { UploadExcelConfigComponent } from './dependencies/upload-excel-config/upload-excel-config.component';
import { NotifyService } from '../../services/notify/notify.service';
import { TranslateService } from '../../services/translate/translate.service';
export declare class UploadExcelControlComponent implements OnInit {
    private ref;
    private excelService;
    private translateService;
    private notifyService;
    private utilityService;
    private loadingService;
    option: UploadExcelOption;
    modal: ModalControl;
    uploadExcelConfig: UploadExcelConfigComponent;
    configResult: ConfigResult;
    items: {
        validation: Validation;
        [column: string]: any;
    }[];
    hasDescription: boolean;
    pages: number[];
    pageSize: number;
    currentPage: number;
    pageCount: number;
    totalPage: number;
    showing: 'ALL' | 'SUCCESS' | 'WARNING' | 'ERROR';
    filteredItems: any[];
    viewItems: any[];
    numberOfSuccess: number;
    numberOfError: number;
    numberOfWarning: number;
    file: File;
    constructor(ref: ChangeDetectorRef, excelService: ExcelService, translateService: TranslateService, notifyService: NotifyService, utilityService: UtilityService, loadingService: LoadingService);
    ngOnInit(): void;
    loadConfig(configResult: ConfigResult): Promise<void>;
    open(): void;
    close(): void;
    reload(): void;
    upload: () => Promise<void>;
    validate(item: {
        [x: string]: any;
        validation: Validation;
    }): Promise<void>;
    private generatePaginate;
    selectPage(selectedPage: number): void;
    accept(): void;
    setValidation: (validates: {
        idx: number;
        message: string;
    }[]) => void;
    view: (showing?: "ALL" | "SUCCESS" | "WARNING" | "ERROR") => void;
    downloadTemplate(): Promise<void>;
}
