/// <reference types="jquery" />
import { DragAndDropHandler, FileInputEventMap, FileInputModel, InitModelOf, Widget } from '../index';
export declare class FileInput extends Widget implements FileInputModel {
    model: FileInputModel;
    eventMap: FileInputEventMap;
    self: FileInput;
    acceptTypes: string;
    maximumUploadSize: number;
    multiSelect: boolean;
    text: string;
    uploadController: Widget;
    files: File[];
    $fileInput: JQuery<HTMLInputElement>;
    $text: JQuery;
    dragAndDropHandler: DragAndDropHandler;
    constructor();
    /**
     * 50 MiB
     */
    static DEFAULT_MAXIMUM_UPLOAD_SIZE: number;
    protected _init(model: InitModelOf<this>): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _renderEnabled(): void;
    setText(text: string): void;
    protected _renderText(): void;
    setAcceptTypes(acceptTypes: string): void;
    protected _renderAcceptTypes(): void;
    setMultiSelect(multiSelect: boolean): void;
    protected _renderMultiSelect(): void;
    setMaximumUploadSize(maximumUploadSize: number): void;
    protected _remove(): void;
    protected _installOrUninstallDragAndDropHandler(): void;
    clear(): void;
    protected _setFiles(files: FileList | File[] | File): void;
    upload(): boolean;
    browse(): void;
    protected _onFileChange(event: JQuery.ChangeEvent<HTMLInputElement>): void;
    protected _onMouseDown(event: JQuery.MouseDownEvent): void;
    validateMaximumUploadSize(files: Blob | Blob[]): void;
}
//# sourceMappingURL=FileInput.d.ts.map