import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
import { UploadFileListItem } from '../../../interfaces/form';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
export declare class ItUploadFileListComponent extends ItAbstractComponent implements OnInit, OnChanges {
    /**
     * The list of files to show in list
     */
    fileList: Array<UploadFileListItem>;
    /**
     * The accepted file type to upload <br>
     * Possible values: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME Types</a> separated by comma
     * @example application/pdf,image/png
     * @default *
     */
    accept: string;
    /**
     * If upload multiple files
     * @default true
     */
    multiple: boolean;
    /**
     * If is file list image
     * @default false
     */
    images?: boolean;
    /**
     * Hide the load button
     * @default false
     */
    hideLoadButton?: boolean;
    /**
     * Fired when upload new files
     */
    uploadFiles: EventEmitter<FileList>;
    /**
     * Fired on delete item button click
     */
    deleteItem: EventEmitter<UploadFileListItem>;
    /**
     * Cache to preview image
     */
    previewImages: Map<number, string>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * On load file from input
     * @param event
     */
    onLoadFiles(event: Event): void;
    /**
     * Get the file size string
     * @param file
     */
    getFileSize(file: File): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItUploadFileListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItUploadFileListComponent, "it-upload-file-list", never, { "fileList": { "alias": "fileList"; "required": true; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "images": { "alias": "images"; "required": false; }; "hideLoadButton": { "alias": "hideLoadButton"; "required": false; }; }, { "uploadFiles": "uploadFiles"; "deleteItem": "deleteItem"; }, never, never, true, never>;
    static ngAcceptInputType_multiple: i1.BooleanInput;
    static ngAcceptInputType_images: i1.BooleanInput;
    static ngAcceptInputType_hideLoadButton: i1.BooleanInput;
}
