import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { MatSelectionList } from '@angular/material/list';
import { SdModal } from '@sd-angular/core/components/modal';
import { SdConfirmService, SdExcelColumn, SdExcelService, SdLoadingService, SdNotifyService } from '@sd-angular/core/services';
import { SdTableOption } from '../../models';
import { ConfiguredTableResult } from '../../models/table-option-config.model';
import { SdTableOptionExportDefault } from '../../models/table-option-export.model';
import * as i0 from "@angular/core";
export declare class SdPopupExport {
    #private;
    private ref;
    private loadingService;
    private excelService;
    private notifyService;
    private confirmService;
    tableOption: SdTableOption;
    columns: SdExcelColumn[];
    templateName?: string | null;
    enableCreating: boolean;
    modal?: SdModal;
    listGroups?: MatSelectionList;
    selected: Record<string, boolean>;
    files: any[];
    export: EventEmitter<{
        file: any | null;
        columns: SdExcelColumn[];
        isCSV?: boolean;
    }>;
    form: FormGroup<{}>;
    exportOption?: SdTableOptionExportDefault;
    set _tableOption(option: SdTableOption);
    configuration?: ConfiguredTableResult;
    private get key();
    private get tableColumns();
    private get additionalColumns();
    constructor(ref: ChangeDetectorRef, loadingService: SdLoadingService, excelService: SdExcelService, notifyService: SdNotifyService, confirmService: SdConfirmService);
    open: () => Promise<void>;
    exportDefault: () => void;
    exportCSV: () => void;
    loadFiles: (group?: string | undefined) => Promise<void>;
    generateTemplate: () => Promise<void>;
    generateAndUploadTemplate: (fileName?: string) => Promise<void>;
    onExport: (file: any) => void;
    uploadTemplate: () => Promise<void>;
    removeFile: (file: any) => void;
    createTemplate: () => Promise<void>;
    templateNameValidator: (val: string) => string;
    static ɵfac: i0.ɵɵFactoryDeclaration<SdPopupExport, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SdPopupExport, "sd-popup-export", never, { "_tableOption": { "alias": "tableOption"; "required": false; }; "configuration": { "alias": "configuration"; "required": false; }; }, { "export": "export"; }, never, never, true, never>;
}
