/// <reference types="jquery" />
import { FileChooserFieldEventMap, FileChooserFieldModel, FileInput, FileInputChangeEvent, InitModelOf, ValueField } from '../../../index';
export declare class FileChooserField extends ValueField<File> implements FileChooserFieldModel {
    model: FileChooserFieldModel;
    eventMap: FileChooserFieldEventMap;
    self: FileChooserField;
    fileInput: FileInput;
    acceptTypes: string;
    maximumUploadSize: number;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    /**
     * Initializes the file input before calling set value.
     * This cannot be done in _init because the value field would call _setValue first
     */
    protected _initValue(value: File): void;
    protected _initKeyStrokeContext(): void;
    protected _render(): void;
    protected _renderFileInput(): void;
    setDisplayText(text: string): void;
    protected _readDisplayText(): string;
    setAcceptTypes(acceptTypes: string): void;
    protected _renderEnabled(): void;
    protected _renderPlaceholder(): void;
    protected _removePlaceholder(): void;
    setMaximumUploadSize(maximumUploadSize: number): void;
    protected _clear(): void;
    protected _onIconMouseDown(event: JQuery.MouseDownEvent): void;
    protected _onFileChange(event: FileInputChangeEvent): void;
    activate(): void;
    protected _validateValue(value: File): File;
    protected _formatValue(value: File): string | JQuery.Promise<string>;
    protected _parseValue(displayText: string): File;
    protected _addAriaFieldDescription(): void;
}
//# sourceMappingURL=FileChooserField.d.ts.map