import { OnInit, AfterViewInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { SdGridColumn, GridBaseOptionExport } from '../../grid.model';
import { SdNotifyService } from '@sd-angular/core/notify';
import { SdLoadingService } from '@sd-angular/core/loading';
import { SdTranslateService } from '@sd-angular/core/translate';
import { MatRadioChange } from '@angular/material/radio';
import { SdModal } from '@sd-angular/core/modal';
import { SdExportService } from '@sd-angular/core/export';
export declare class SdGridPopupExportExcel implements OnInit, AfterViewInit {
    private ref;
    private loadingService;
    private exportService;
    private notifyService;
    private translateService;
    private prefix;
    newExcelConfig: string;
    modal: SdModal;
    key: string;
    get fullKey(): string;
    columns: SdGridColumn[];
    extendColumns: SdGridColumn[];
    fileName: string;
    validator: (fileName: string) => string;
    exportOption: GridBaseOptionExport;
    excelConfigs: any[];
    exportByTemplate: EventEmitter<{
        excelConfig: any;
        excelColumns: any[];
    }>;
    tabIndex: number;
    selectedExcelConfig: any;
    exportableColumns: SdGridColumn[];
    selected: {
        [key: string]: boolean;
    };
    constructor(ref: ChangeDetectorRef, loadingService: SdLoadingService, exportService: SdExportService, notifyService: SdNotifyService, translateService: SdTranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    open(): Promise<void>;
    private generateExcelColumns;
    private initTemplate;
    private initDefaultTemplate;
    generateTemplate: () => Promise<void>;
    generateAndUploadTemplate: (columns: SdGridColumn[], fileName?: string) => Promise<{
        filePath: any;
        fileName: any;
    }>;
    onExportByTemplate: (excelConfig: any) => void;
    uploadTemplate: () => Promise<void>;
    downloadTemplate: (excelConfig: any) => void;
    removeTemplate: (excelConfig: any) => void;
    loadConfiguration(): Promise<void>;
    exportDefault: () => Promise<void>;
    newTemplate: () => void;
    onChangeRadio: (matRadioChange: MatRadioChange) => void;
}
