/// <reference types="jquery" />
import { DragAndDropOptions, EnumObject, Event, FileInput, FileInputChangeEvent, FormField, Icon, ImageFieldEventMap, ImageFieldModel, InitModelOf } from '../../../index';
export declare class ImageField extends FormField implements ImageFieldModel {
    model: ImageFieldModel;
    eventMap: ImageFieldEventMap;
    self: ImageField;
    autoFit: boolean;
    imageUrl: string;
    scrollBarEnabled: boolean;
    uploadEnabled: boolean;
    acceptTypes: string;
    maximumUploadSize: number;
    icon: Icon;
    fileInput: FileInput;
    protected _clickHandler: (event: JQuery.ClickEvent) => void;
    constructor();
    static MenuType: {
        readonly Null: "ImageField.Null";
        readonly ImageUrl: "ImageField.ImageUrl";
    };
    protected _init(model: InitModelOf<this>): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _remove(): void;
    protected _getDragAndDropHandlerOptions(): DragAndDropOptions;
    setImageUrl(imageUrl: string): void;
    protected _setImageUrl(imageUrl: string): void;
    protected _renderImageUrl(): void;
    setAutoFit(autoFit: boolean): void;
    protected _setAutoFit(autoFit: boolean): void;
    protected _renderAutoFit(): void;
    setScrollBarEnabled(scrollBarEnabled: boolean): void;
    protected _renderScrollBarEnabled(): void;
    get$Scrollable(): JQuery;
    protected _renderGridData(): void;
    protected _renderGridDataHints(): void;
    protected _updateInnerAlignment(): void;
    protected _renderEnabled(): void;
    setUploadEnabled(uploadEnabled: boolean): void;
    protected _renderUploadEnabled(): void;
    protected _updateUploadEnabled(): void;
    protected _getCurrentMenuTypes(): string[];
    /**
     * The browse() function triggers an artificial click event on the INPUT element,
     * this would trigger our own click handler again. We prevent recursion by
     * checking the click target.
     */
    protected _onClickUpload(event: JQuery.ClickEvent): void;
    protected _onFileChange(event: FileInputChangeEvent): void;
    protected _onImageLoad(event: Event<Icon>): void;
    protected _onImageError(event: Event<Icon>): void;
    /**
     * This function is called whenever the icon has updated its $container. Since the $field
     * variable from ImageField.js references the $container of the icon directly, we must update
     * that variable now.
     * <p>
     * Override this method if a sub-class of ImageField.js needs to update its DOM too.
     */
    protected _onIconUpdated(): void;
}
export type ImageFieldMenuType = EnumObject<typeof ImageField.MenuType>;
//# sourceMappingURL=ImageField.d.ts.map