import { EventEmitter, ChangeDetectorRef, AfterViewInit, ElementRef, OnInit, QueryList, OnDestroy } from '@angular/core';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { NotifyService } from '../../services/notify/notify.service';
import { TranslateService } from '../../services/translate/translate.service';
export declare class UploadFileControlComponent implements OnInit, AfterViewInit, OnDestroy {
    private ref;
    private notifyService;
    private translateService;
    id: string;
    previewFiles: PreviewFile[];
    label: string;
    type: 'image' | 'file';
    disabled: boolean;
    extensions: string[];
    max: number;
    maxSize: number;
    maxWidth: number;
    maxHeight: number;
    srcs: string[];
    previewWidth: string;
    previewHeight: string;
    align: 'left' | 'center';
    sdChange: EventEmitter<PreviewFile[]>;
    dropElements: QueryList<ElementRef>;
    private subscription;
    private currentDropContainer;
    constructor(ref: ChangeDetectorRef, notifyService: NotifyService, translateService: TranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    reload: (previewFiles?: PreviewFile[]) => void;
    private validate;
    private preview;
    onUpload(previewFile?: PreviewFile): void;
    private uploadFile;
    onRemove(previewFile: PreviewFile): void;
    onDrop(event: CdkDragDrop<string[]>): void;
}
export interface PreviewFile {
    file: File;
    src: string;
    previewSrc: string | ArrayBuffer;
    isPreviewImage: boolean;
    fileName?: string;
    extension?: string;
}
