import { EventEmitter, ChangeDetectorRef, AfterViewInit, ElementRef, OnInit, QueryList, OnDestroy } from '@angular/core';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { DeviceDetectorService } from 'ngx-device-detector';
import { SdNotifyService } from '@sd-angular/core/notify';
import { SdTranslateService } from '@sd-angular/core/translate';
import { SdLabelDefDirective } from '@sd-angular/core/common';
export declare class SdUploadFile implements OnInit, AfterViewInit, OnDestroy {
    #private;
    private ref;
    private notifyService;
    private translateService;
    id: string;
    previewFiles: PreviewFile[];
    selectedFile: PreviewFile;
    label: string;
    type: 'image' | 'file';
    disabled: boolean;
    extensions: string[];
    max: number;
    maxSize: number;
    maxWidth: number;
    maxHeight: number;
    scaleToPixel: number;
    set srcs(srcs: string[]);
    previewWidth: string;
    previewHeight: string;
    align: 'left' | 'center';
    set model(model: (string | PreviewFile)[]);
    modelChange: EventEmitter<PreviewFile[]>;
    sdChange: EventEmitter<PreviewFile[]>;
    dropElements: QueryList<ElementRef>;
    canvas: ElementRef;
    sdLabelDef: SdLabelDefDirective;
    constructor(deviceService: DeviceDetectorService, ref: ChangeDetectorRef, notifyService: SdNotifyService, translateService: SdTranslateService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    reload: (previewFiles: PreviewFile[]) => void;
    onUpload: (previewFile?: PreviewFile) => void;
    onRemove: (previewFile: PreviewFile) => void;
    onDrop: (event: CdkDragDrop<string[]>) => void;
    onSelect: (file: PreviewFile) => void;
}
export interface PreviewFile {
    file: File;
    src: string;
    previewSrc: string | ArrayBuffer;
    isPreviewImage: boolean;
    fileName?: string;
    extension?: string;
}
