import { Button, Event, FileChooserButtonEventMap, FileChooserButtonModel, FileInput, FileInputChangeEvent, InitModelOf, ValueField } from '../../../index';
export declare class FileChooserButton extends ValueField<File> implements FileChooserButtonModel {
    model: FileChooserButtonModel;
    eventMap: FileChooserButtonEventMap;
    self: FileChooserButton;
    button: Button;
    fileInput: FileInput;
    acceptTypes: string;
    maximumUploadSize: number;
    iconId: string;
    fileExtensions: string | string[];
    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 _buttonLabel(): string;
    protected _render(): void;
    setDisplayText(text: string): void;
    protected _readDisplayText(): string;
    protected _renderLabel(): void;
    protected _onButtonClick(event: Event<Button>): void;
    setLabel(label: string): void;
    setIconId(iconId: string): void;
    setAcceptTypes(acceptTypes: string): void;
    setFileExtensions(fileExtensions: string | string[]): void;
    setMaximumUploadSize(maximumUploadSize: number): void;
    protected _onFileChange(event: FileInputChangeEvent): void;
    protected _validateValue(value: File): File;
    protected _formatValue(value: File): string | JQuery.Promise<string>;
    get$Focusable(): JQuery;
}
//# sourceMappingURL=FileChooserButton.d.ts.map