/// <reference types="jquery" />
import { Action, BoxButtons, DisplayParent, DragAndDropHandler, Event, FileChooserEventMap, FileChooserModel, FileInput, FileInputChangeEvent, GlassPaneRenderer, InitModelOf, KeyStrokeContext, Widget } from '../index';
export declare class FileChooser extends Widget implements FileChooserModel {
    model: FileChooserModel;
    eventMap: FileChooserEventMap;
    self: FileChooser;
    maximumUploadSize: number;
    acceptTypes: string;
    multiSelect: boolean;
    displayParent: DisplayParent;
    files: File[];
    boxButtons: BoxButtons;
    uploadButton: Action;
    cancelButton: Action;
    fileInput: FileInput;
    $content: JQuery;
    $title: JQuery;
    $files: JQuery<HTMLUListElement>;
    dragAndDropHandler: DragAndDropHandler;
    protected _glassPaneRenderer: GlassPaneRenderer;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    protected _createKeyStrokeContext(): KeyStrokeContext;
    protected _initKeyStrokeContext(): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _renderEnabled(): void;
    protected _postRender(): void;
    protected _remove(): void;
    protected _installFocusContext(): void;
    protected _uninstallFocusContext(): void;
    get$Scrollable(): JQuery;
    protected _position(): void;
    setDisplayParent(displayParent: DisplayParent): void;
    protected _setDisplayParent(displayParent: DisplayParent): void;
    setMaximumUploadSize(maximumUploadSize: number): void;
    /**
     * Renders the file chooser and links it with the display parent.
     */
    open(): void;
    /**
     * Destroys the file chooser and unlinks it from the display parent.
     */
    close(): void;
    cancel(): void;
    /**
     * Destroys the file chooser and unlinks it from the display parent.
     */
    protected _close(): void;
    protected _installOrUninstallDragAndDropHandler(): void;
    browse(): void;
    setAcceptTypes(acceptTypes: string): void;
    setMultiSelect(multiSelect: boolean): void;
    addFiles(files: FileList | File[] | File): void;
    removeFile(file: File): void;
    setFiles(files: File[] | FileList | File): void;
    protected _renderFiles(): void;
    protected _onUploadButtonClicked(event: Event<Action>): void;
    protected _onCancelButtonClicked(event: Event<Action>): void;
    protected _onAddFileButtonClicked(event: Event<Action>): void;
    protected _onFileChange(event: FileInputChangeEvent): void;
    protected _onMouseDown(event: JQuery.MouseDownEvent): void;
    protected _attach(): void;
    protected _detach(): void;
}
//# sourceMappingURL=FileChooser.d.ts.map