import { ActionKeyStroke, CloneOptions, EnumObject, Event, EventHandler, Form, FormMenuEventMap, FormMenuModel, InitModelOf, Menu, ObjectOrChildModel, Popup, WidgetPopup } from '../index';
export declare class FormMenu extends Menu implements FormMenuModel {
    model: FormMenuModel;
    eventMap: FormMenuEventMap;
    self: FormMenu;
    popup: WidgetPopup;
    form: Form;
    popupStyle: FormMenuPopupStyle;
    popupClosable: boolean;
    popupMovable: boolean;
    popupResizable: boolean;
    protected _formDestroyHandler: EventHandler<Event<Form>>;
    constructor();
    static PopupStyle: {
        readonly DEFAULT: "default";
        readonly MOBILE: "mobile";
    };
    protected _init(model: InitModelOf<this>): void;
    protected _renderForm(): void;
    clone(modelOverride: FormMenuModel, options: CloneOptions): this;
    setForm(form: ObjectOrChildModel<Form>): void;
    protected _setForm(form: Form): void;
    protected _adaptForm(form: Form): void;
    /**
     * Called when the popup form is destroyed (e.g. form.close() was called) -> ensure menu is unselected and popup closed.
     */
    protected _onFormDestroy(event: Event<Form>): void;
    protected _setSelected(selected: boolean): void;
    protected _renderSelected(): void;
    protected _canOpenPopup(): boolean;
    protected _closeOtherPopupsForSameMenu(): void;
    protected _findOtherPopupsForSameMenu(): Popup[];
    protected _popupBelongsToMenu(popup: Popup): boolean;
    protected _createPopup(): Popup;
    protected _doActionTogglesPopup(): boolean;
    updateAriaRole(): void;
    protected _handleSelectedInEllipsis(): void;
    protected _createActionKeyStroke(): ActionKeyStroke;
    setPopupClosable(popupClosable: boolean): void;
    setPopupMovable(popupMovable: boolean): void;
    setPopupResizable(popupResizable: boolean): void;
}
export type FormMenuPopupStyle = EnumObject<typeof FormMenu.PopupStyle>;
//# sourceMappingURL=FormMenu.d.ts.map