import { EventEmitter } from '@angular/core';
import { FileItem } from './file-item.interface';
export declare class FileUploader {
/**
* Counter used to create unique ids for file-uploader components
*/
static fileUploaderCount: number;
/**
* Accessible text for the button that opens the upload window.
*/
buttonText: string;
/**
* Type set for button
*/
buttonType: 'primary' | 'basic' | 'plain' | 'destructive' | 'outline_white';
/**
* Text set to the title
*/
title: string;
/**
* Text set to the description
*/
description: string;
/**
* Specify the types of files that the input should be able to receive
*/
accept: any[];
/**
* Set to `false` to tell the component to only accept a single file on upload.
*
* Defaults to `true`. Accepts multiple files.
*/
multiple: boolean;
/**
* Set to `true` for a loading file uploader.
*/
skeleton: boolean;
/**
* Sets the size of the button.
*/
size: 'sm' | 'normal';
/**
* Provides a unique id for the underlying `` node
*/
fileUploaderId: string;
/**
* Maintains a reference to the view DOM element of the underlying `` node
*/
fileInput: any;
/**
* The list of files that have been submitted to be uploaded
*/
files: Set;
/**
* Emits an event to other classes when files change
*/
filesChange: EventEmitter;
baseClass: boolean;
protected onTouchedCallback: () => void;
protected onChangeCallback: (_: Set) => void;
constructor();
/**
* Specifies the property to be used as the return value to `ngModel`
*/
value: Set;
onBlur(): void;
/**
* Propagates the injected `value`.
*/
writeValue(value: Set): void;
onFilesAdded(): void;
removeFile(fileItem: any): void;
/**
* Registers the injected function to control the touch use of the `FileUploader`.
*/
registerOnTouched(fn: any): void;
/**
* Sets a method in order to propagate changes back to the form.
*/
registerOnChange(fn: any): void;
}