import { EventEmitter, Injector, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { ContextMenu } from 'tn-custom-primeng/contextmenu';
import { FileUpload } from 'tn-custom-primeng/fileupload';
import { ComponentBase } from '../../classes/base/component-base';
import { SharedFolderType } from '../../classes/constants';
import { NotifierService } from '../../services/notifier.service';
import { DownloadLinkService } from '../file-explorer/services/download-link.service';
import { FileExplorerService } from '../file-explorer/services/file-explorer.service';
import { FileObjectService } from '../file-explorer/services/file-object.service';
import { FileUploadControlSchema, ModuleConfigService } from '../../public-api';
export declare class FileUploadComponent extends ComponentBase implements ControlValueAccessor, OnInit {
    private _fileObjectService;
    private _notifierService;
    private _downloadLinkService;
    private _moduleConfigService;
    private _fileExplorerService;
    file: FileUpload;
    contextMenu: ContextMenu;
    chooseLabel: string;
    readonly: boolean;
    showDeleteFile: boolean;
    accept: string;
    maxFileSize: number;
    invalidFileSizeMessageSummary?: string;
    invalidFileSizeMessageDetail?: string;
    invalidFileTypeMessageSummary?: string;
    invalidFileTypeMessageDetail?: string;
    invalidFileLimitMessageSummary?: string;
    invalidFileLimitMessageDetail?: string;
    sharedFolderType: SharedFolderType;
    control: FileUploadControlSchema;
    isPublic: boolean;
    onInit: EventEmitter<any>;
    onSelect: EventEmitter<any>;
    onRemove: EventEmitter<any>;
    onChanged: EventEmitter<any>;
    onChangeBase: (val: any) => void;
    onTouched: (val: any) => void;
    isDisabled: boolean;
    fileId: string;
    selectedFile: any;
    menu: Array<any>;
    selectedFileName: string;
    loading: boolean;
    hasFile: boolean;
    showNoti: boolean;
    notification: string;
    environment: any;
    forms: {
        fileViewer: {
            formData: {
                data: {};
            };
            show: boolean;
        };
    };
    constructor(_fileObjectService: FileObjectService, _notifierService: NotifierService, _downloadLinkService: DownloadLinkService, _moduleConfigService: ModuleConfigService, _fileExplorerService: FileExplorerService, _injector: Injector);
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnInit(): void;
    getFile(): Promise<void>;
    setMenu(): void;
    showContextMenu(evt: any): void;
    onOpenSelect(): void;
    onSelectFile(evt: any): void;
    handleError(evt: any): void;
    setNoti(msg: any): void;
    onRemoveFile(): void;
    onDownloadFile(): void;
    openFileViewer(): Promise<void>;
}
//# sourceMappingURL=file-upload.component.d.ts.map