import { ElementRef, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { UploadModel } from '../../models/components/upload.model';
import * as i0 from "@angular/core";
export declare class CvaMultiUploadComponent implements ControlValueAccessor {
    fileUpload?: ElementRef;
    files: UploadModel[];
    multiple: boolean;
    maxSize: number | null;
    accept: string[] | null;
    label: string;
    required: string;
    disabled: boolean;
    percentOfLabelOutside: number;
    onFileChange: EventEmitter<any>;
    sizeError: string | null;
    typeError: string | null;
    propagateChange: (_: any) => void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    onClick(): void;
    convertToUploadModel(fileList: FileList): void;
    isContainFileName(name: string): boolean;
    onFileChangeAction(event: any): void;
    onFileDroppedAction(fileList: FileList): void;
    validFile(fileList: FileList): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<CvaMultiUploadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CvaMultiUploadComponent, "cva-multi-upload", never, { "files": { "alias": "files"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "percentOfLabelOutside": { "alias": "percentOfLabelOutside"; "required": false; }; }, { "onFileChange": "onFileChange"; }, never, never, false, never>;
}
