import { OnInit, AfterViewInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { ModalControl } from '../../../modal-control/modal-control.component';
import { GridColumn } from '../../grid-control.model';
import { TranslateService } from '../../../../services/translate/translate.service';
import { NotifyService } from '../../../../services/notify/notify.service';
import { ExcelService } from '../../../../services/excel/excel.service';
import { LoadingService } from '../../../../services/loading/loading.service';
import { ExcelConfig, ExcelTempateColumn } from '../../../../services/excel/excel.model';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { MatRadioChange } from '@angular/material/radio';
export declare class GridPopupExportExcelComponent implements OnInit, AfterViewInit {
    private ref;
    private loadingService;
    private excelService;
    private notifyService;
    private translateService;
    private prefix;
    newExcelConfig: string;
    modal: ModalControl;
    key: string;
    get fullKey(): string;
    columns: GridColumn[];
    extendColumns: GridColumn[];
    fileName: string;
    validator: (fileName: string) => string;
    excelConfigs: ExcelConfig[];
    exportByTemplate: EventEmitter<{
        excelConfig: ExcelConfig;
        excelColumns: ExcelTempateColumn[];
    }>;
    tabIndex: number;
    selectedExcelConfig: ExcelConfig;
    exportableColumns: GridColumn[];
    selected: {
        [key: string]: boolean;
    };
    constructor(ref: ChangeDetectorRef, loadingService: LoadingService, excelService: ExcelService, notifyService: NotifyService, translateService: TranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    open(): Promise<void>;
    private generateExcelColumns;
    private initTemplate;
    private initDefaultTemplate;
    generateTemplate: () => Promise<void>;
    onExportByTemplate: (excelConfig: ExcelConfig) => void;
    uploadTemplate: () => Promise<void>;
    downloadTemplate: (excelConfig: ExcelConfig) => void;
    removeTemplate: (excelConfig: ExcelConfig) => void;
    loadConfiguration(): Promise<void>;
    exportDefault: () => Promise<void>;
    drop(event: CdkDragDrop<GridColumn[]>): void;
    newTemplate: () => void;
    onChangeRadio: (matRadioChange: MatRadioChange) => void;
}
