import { EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { DeviceDetectorService } from 'ngx-device-detector';
import { MessageService, TreeNode } from 'tn-custom-primeng/api';
import { ContextMenu } from 'tn-custom-primeng/contextmenu';
import { FileUpload } from 'tn-custom-primeng/fileupload';
import { DataListBase } from '../../../classes/base/data-list-base';
import { CrudFormSetting, EnumFileLayout, FileManagerControlSchema } from '../../../classes/form-schema';
import { GridInfo } from '../../../models/grid-info';
import { AuthenService } from '../../../services/authen.service';
import { FileManagerService } from '../../../services/file-manager.service';
import { ModuleConfigService } from '../../../services/module-config.service';
import { NotifierService } from '../../../services/notifier.service';
import { SignalRService } from '../../../services/signalr.service';
import { TnClientService } from '../../../services/tn-client.service';
import { FileKySoSimComponent } from '../file-ky-so-sim/file-ky-so-sim.component';
import { FileExplorerItem } from '../models/file-explorer-item';
import { FilePickerSetting } from '../models/file-picker-setting';
import { IFileManagerComponent } from '../models/interfaces';
import { DownloadLinkService } from '../services/download-link.service';
import { FileDataService } from '../services/file-data.service';
import { FileExplorerNewService } from '../services/file-explorer-new.service';
import { FileExplorerService } from '../services/file-explorer.service';
import { FileObjectService } from '../services/file-object.service';
import { FileVersionService } from '../services/file-version.service';
import { FolderService } from '../services/folder.service';
import { MyDriveService } from '../services/my-drive.service';
export declare class FileManagerComponent extends DataListBase implements IFileManagerComponent, OnInit, OnDestroy {
    protected _myDriveService: MyDriveService;
    protected _injector: Injector;
    private _messageService;
    private _authenService;
    private _tnClientService;
    private _fileVersionService;
    private _moduleConfigService;
    protected _notifierService: NotifierService;
    private _signalrService;
    _fileExplorerService: FileExplorerService;
    private _fileExplorerNewService;
    _deviceDetectorService: DeviceDetectorService;
    private _folderService;
    private _fileObjectService;
    private _downloadLinkService;
    private _fileManagerService;
    fileControl: FileUpload;
    contextMenu: ContextMenu;
    fileKySoSim: FileKySoSimComponent;
    control: FileManagerControlSchema;
    set fileDataService(value: FileDataService);
    layout: EnumFileLayout;
    hiddenCreateFolder: boolean;
    maxFileSize: number;
    fileLimit: boolean;
    invalidFileSizeMessageSummary?: string;
    invalidFileSizeMessageDetail?: string;
    invalidFileTypeMessageSummary?: string;
    invalidFileTypeMessageDetail?: string;
    invalidFileLimitMessageSummary?: string;
    invalidFileLimitMessageDetail?: string;
    dataType: any;
    rootFolderName: string;
    serviceCode: string;
    entity: string;
    hiddenPageSetting: boolean;
    set entityKey(val: any);
    get entityKey(): any;
    set rootFolderId(value: string);
    set dataForm(value: string);
    readonly: boolean;
    disabled: boolean;
    isPublic: boolean;
    inTaiLieu: boolean;
    inTaiLieuChung: boolean;
    copyToFolderId: string;
    set value(value: any);
    multipleCheckWhenClickRow: boolean;
    filePickerSetting: FilePickerSetting;
    parentSetting: CrudFormSetting;
    onInit: EventEmitter<any>;
    onReady: EventEmitter<any>;
    entityKeyChange: EventEmitter<any>;
    closePopup: EventEmitter<any>;
    valueChange: EventEmitter<any>;
    onChanged: EventEmitter<any>;
    onSelected: EventEmitter<any>;
    onDeleted: EventEmitter<any>;
    uploaded: EventEmitter<any>;
    private _unsubcribleAll;
    private _moduleConfig;
    _oldValue: any;
    _value: any;
    _dataSource: any[];
    _layout: typeof EnumFileLayout;
    get fileDataService(): FileDataService;
    _fileDataService: FileDataService;
    _entityKey: string;
    _hasLoadedSource: boolean;
    get rootFolderId(): string;
    _rootFolderId: string;
    progressValue: number;
    apiUploadUrl: string;
    chooseLabel: string;
    userId: any;
    _folderId: string;
    formIds: {
        createFolder: string;
        renameFile: string;
        shareFile: string;
        shareFolder: string;
        fileViewer: string;
        fileVersionList: string;
        signatureDetail: string;
        kySoSim: string;
        viewDetail: string;
    };
    forms: any;
    data: any;
    showAttachLinkBox: boolean;
    typedLink: string;
    showTaiLieuDungChung: boolean;
    layoutSimpleAll: boolean;
    basePermission: number;
    inited: boolean;
    visibleFolder: boolean;
    rootTreeNode: TreeNode[];
    selectedTreeNode: TreeNode;
    accept: string;
    fileInForm: string;
    useBreadcrumbs: boolean;
    useSignature: boolean;
    entityKeyPicker: string;
    constructor(_myDriveService: MyDriveService, _injector: Injector, _messageService: MessageService, _authenService: AuthenService, _tnClientService: TnClientService, _fileVersionService: FileVersionService, _moduleConfigService: ModuleConfigService, _notifierService: NotifierService, _signalrService: SignalRService, _fileExplorerService: FileExplorerService, _fileExplorerNewService: FileExplorerNewService, _deviceDetectorService: DeviceDetectorService, _folderService: FolderService, _fileObjectService: FileObjectService, _downloadLinkService: DownloadLinkService, _fileManagerService: FileManagerService);
    ngOnInit(): void;
    changeVisibleFolder(): void;
    checkAndLoadRootFolderContent(): void;
    getRootFolderContent(): void;
    resetData(): void;
    setRootFolderId(rootFolderId: string): void;
    setDatasource(dataSource?: any[]): void;
    getFilesInEntityKey(): Promise<void>;
    fireEventChange(): void;
    initGrid(): void;
    initSetting(): void;
    initForms(): void;
    onSavedForm(formId: any): void;
    onCancelForm(formId: any): void;
    showContextMenu(evt: any, item: any, isTree?: boolean): void;
    checkIsReadOnly(): boolean;
    handleClickFileName(item: any): void;
    modifyGridInfo(gridInfo: GridInfo): Promise<void>;
    afterGetData(): Promise<void>;
    ngOnDestroy(): void;
    getButtonIcon(explorerItem: any): "pi pi-eye" | "pi pi-pencil";
    getButtonTooltip(explorerItem: any): "Xem trực tuyến" | "Đổi tên" | "Chỉnh sửa";
    onButtonClick(explorerItem: any): void;
    getMenuItems(explorderItem: any): any;
    onDropdownClick(explorerItem: any): void;
    onSelectFile(): void;
    onBeforeUpload(evt: any): void;
    onUploadProgress(evt: any): void;
    handleSelectFile(evt: any): void;
    onUploaded(evt: any): void;
    handleError(error: any): void;
    private getErrorMsg;
    renameFile(item: any): void;
    deleteFile(explorerItem: FileExplorerItem): void;
    createFolder(): void;
    viewDetail(folderId: any): void;
    getFolderContent(currentFolderId?: string, goInside?: boolean): void;
    setValidate(): void;
    renameFolder(folderId: string): void;
    deleteFolder(explorerItem: FileExplorerItem): void;
    openObject(explorerItem: FileExplorerItem): Promise<void>;
    deleteMutiple(items: FileExplorerItem[]): void;
    download(explorerItem: FileExplorerItem): Promise<void>;
    copyDownloadLink(explorerItem: FileExplorerItem): Promise<void>;
    downloadMultiple(): Promise<void>;
    generateZipLinkAndCopy(): Promise<void>;
    openFileViewer(explorerItem: FileExplorerItem): Promise<void>;
    closeFileViewer(): void;
    hasSelect(): number;
    canSelect(): number;
    canSetMove(): any;
    moveExplorerItems(): void;
    setMoveExplorerItems(): void;
    cancelMove(): void;
    openFileVersions(file: FileExplorerItem): void;
    editFile(file: FileExplorerItem): void;
    setBreadcrumbs(): Promise<void>;
    getRootFolderName(folderName: string): string;
    signFile(file: FileExplorerItem): void;
    signFileDonVi(file: FileExplorerItem): void;
    signKySimFile(file: FileExplorerItem): void;
    shareFolder(file: FileExplorerItem): Promise<void>;
    shareFile(file: FileExplorerItem): Promise<void>;
    selectFile(): void;
    viewListSign(e: Event, signatures: any): void;
    onRowSelect(evt: any): void;
    reloadData(): void;
    addAttachLink(): Promise<void>;
    parseAttachLink(link: any): any;
    copyFileFromShared(selectedFiles: any[], idDesFolder: string): Promise<void>;
    focusInput(input: any): void;
    chonChuKy(): void;
    kySo(): void;
    showPickerTaiLieu(): void;
    loadTree(rootName: string, serviceCode: string, entity: string, entityKey: string): Promise<void>;
    buildTreeData(data: any, rootFolderId: any): TreeNode<any>[];
    setSelectedFolder(node: TreeNode, folderId: string): boolean;
    nodeSelect(nodeEvent: any): Promise<void>;
    getPathImage(fileId: any): string;
}
//# sourceMappingURL=file-manager.component.d.ts.map