import { AbstractLayout, Action, Event, EventHandler, HtmlComponent, InitModelOf, Menu, Point, Popup, PopupAlignment, PropertyChangeEvent, SomeRequired, Tooltip, TouchPopupModel, ValueField, ValueFieldModel, Widget } from '../index';
export declare class TouchPopup extends Popup {
    model: TouchPopupModel;
    initModel: SomeRequired<this['model'], 'parent' | 'field'>;
    doneAction: Action;
    htmlBody: HtmlComponent;
    $body: JQuery;
    /**
     * the cloned field from the popup
     * @internal
     */
    _field: TouchPopupField;
    /** the original touch field from the form */
    protected _touchField: TouchPopupField;
    protected _touchFieldTooltip: Tooltip;
    /** the widget placed below the field */
    protected _widget: Widget;
    protected _$widgetContainer: JQuery;
    protected _$header: JQuery;
    protected _widgetContainerHtmlComp: HtmlComponent;
    protected _touchFieldPropertyChangeListener: EventHandler<PropertyChangeEvent<any>>;
    constructor();
    protected _init(options: InitModelOf<this>): void;
    protected _destroy(): void;
    protected _fieldOverrides(): InitModelOf<TouchPopupField>;
    protected _initDelegatedEvents(): string[];
    protected _initWidget(options: TouchPopupModel): void;
    protected _createLayout(): AbstractLayout;
    prefLocation(verticalAlignment?: PopupAlignment, horizontalAlignment?: PopupAlignment): Point;
    protected _render(): void;
    protected _handleGlassPanes(): void;
    protected _onTouchFieldPropertyChange(event: PropertyChangeEvent<any>): void;
    /**
     * Calls accept input on the embedded field.
     */
    protected _acceptInput(): void;
    protected _onCloseIconClick(event: Event<Menu>): void;
}
export type TouchPopupField = ValueField<any> & {
    popup: Popup;
    embedded: boolean;
    touchMode: boolean;
};
export type TouchPopupFieldModel = ValueFieldModel<any, any> & {
    popup?: Popup;
    embedded?: boolean;
    touchMode?: boolean;
};
//# sourceMappingURL=TouchPopup.d.ts.map