import { EventEmitter, Injector, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Subscription } from 'rxjs';
import { ContextMenu } from 'tn-custom-primeng/contextmenu';
import { FileUpload } from 'tn-custom-primeng/fileupload';
import { OverlayPanel } from 'tn-custom-primeng/overlaypanel';
import { ComponentBase } from '../../classes/base/component-base';
import { FileUploadControlSchema } from '../../classes/form-schema';
import { ModuleConfig } from '../../configs/module-config';
import { AuthenService } from '../../services/authen.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 { UserService } from '../../services/user.service';
import { FileViewerComponent } from '../file-explorer/file-viewer/file-viewer.component';
import { FileExplorerItem } from '../file-explorer/models/file-explorer-item';
import { IServiceFileUploadComponent } from '../file-explorer/models/interfaces';
import { DownloadLinkService } from '../file-explorer/services/download-link.service';
import { FileDataService } from '../file-explorer/services/file-data.service';
import { FileExplorerService } from '../file-explorer/services/file-explorer.service';
import { FileObjectService } from '../file-explorer/services/file-object.service';
export declare class ServiceFileUploadComponent extends ComponentBase implements IServiceFileUploadComponent, ControlValueAccessor, OnInit, OnDestroy {
    private _fileObjectService;
    private _signalRService;
    private _moduleConfigService;
    private _tnClientService;
    private _authenService;
    protected _userService: UserService;
    protected _notifierService: NotifierService;
    protected _downloadLinkService: DownloadLinkService;
    protected _fileExplorerService: FileExplorerService;
    contextMenu: ContextMenu;
    file: FileUpload;
    fileDetailCommand: OverlayPanel;
    fileViewerNew: FileViewerComponent;
    fileDataService: FileDataService;
    control: FileUploadControlSchema;
    serviceCode: string;
    entity: string;
    _entityKey: string;
    set entityKey(val: string);
    chooseLabel: string;
    onInit: EventEmitter<any>;
    onSelect: EventEmitter<any>;
    onRemove: EventEmitter<any>;
    onChanged: EventEmitter<any>;
    get entityKey(): string;
    fileId: string;
    selectedFile: any;
    selectedFileName: string;
    extension: string;
    selectedFileNameShort: string;
    hasFile: boolean;
    loading: boolean;
    showNoti: boolean;
    fileObj: FileExplorerItem;
    userId: string;
    notification: string;
    _moduleConfig: ModuleConfig;
    accept: string;
    readonly: any;
    disabled: boolean;
    defaultScanFileName: any;
    menu: Array<any>;
    onChangeBase: (val: any) => void;
    onTouched: (val: any) => void;
    isDisabled: boolean;
    _subscribe: Subscription;
    dataModel: any;
    forms: any;
    constructor(_fileObjectService: FileObjectService, _signalRService: SignalRService, _moduleConfigService: ModuleConfigService, _tnClientService: TnClientService, _authenService: AuthenService, _userService: UserService, _notifierService: NotifierService, _downloadLinkService: DownloadLinkService, _fileExplorerService: FileExplorerService, _injector: Injector);
    ngOnInit(): void;
    setUp(): void;
    getServiceFile(): Promise<void>;
    setFileObject(fileObject: any): void;
    hasKeys(): boolean;
    setMenu(): void;
    subscribe(): void;
    ngOnDestroy(): void;
    onOpenSelect(): void;
    onSelectFile(evt: any): void;
    handleSaveFile(): void;
    setNoti(msg: any): void;
    setFileName(fileName: any): void;
    showContextMenu(evt: any): void;
    onRemoveFile(): void;
    onDownloadFile(): void;
    scanFile(evt: any): void;
    viewOnline(): void;
    download(): void;
    uploadFileFromDrive(): void;
    copyFileToDrive(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    openFileViewer(): Promise<void>;
}
//# sourceMappingURL=service-file-upload.component.d.ts.map