import { Action, Event, InitModelOf, Insets, ObjectOrChildModel, Point, Popup, PopupAlignment, PopupLayout, ResizableMode, Widget, WidgetPopupEventMap, WidgetPopupModel } from '../index';
export declare class WidgetPopup<TContent extends Widget = Widget> extends Popup implements WidgetPopupModel<TContent> {
    model: WidgetPopupModel<TContent>;
    eventMap: WidgetPopupEventMap;
    self: WidgetPopup;
    closable: boolean;
    closeAction: Action;
    movable: boolean;
    resizable: boolean;
    resizeModes: ResizableMode[];
    $dragHandle: JQuery;
    content: TContent;
    /**
     * Action bar on the top right corner, is used to display the close action but may also be used by popups to add custom actions.
     * The bar will only be added automatically if the popup is closable.
     */
    $actions: JQuery;
    protected _moveHandler: (position: {
        top: number;
        left: number;
    }) => void;
    protected _resizeHandler: (event: JQuery.ResizeEvent) => boolean;
    protected _autoPositionOrig: boolean;
    constructor();
    protected _createLayout(): PopupLayout;
    protected _init(model: InitModelOf<this>): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _remove(): void;
    setContent(content: ObjectOrChildModel<TContent>): void;
    protected _renderContent(): void;
    setClosable(closable: boolean): void;
    protected _setClosable(closable: boolean): void;
    protected _createCloseAction(): Action;
    protected _renderClosable(): void;
    protected _onCloseAction(event: Event<Action>): void;
    setResizable(resizable: boolean): void;
    protected _renderResizable(): void;
    protected _calculateResizeBoundaries(): Insets;
    protected _determineResizeModes(): ResizableMode[];
    protected _onResize(event: JQuery.ResizeEvent): boolean;
    position(switchIfNecessary?: boolean): void;
    protected _updateArrowClass(verticalAlignment?: PopupAlignment, horizontalAlignment?: PopupAlignment): void;
    protected _updateArrowPosition(): void;
    protected _getAnchorMiddlePoint(): Point;
    protected _isVerticallyAligned(): boolean;
    setMovable(movable: boolean): void;
    protected _renderMovable(): void;
    protected _onMove(newOffset: {
        top: number;
        left: number;
    }): void;
    set$Anchor($anchor: JQuery): void;
}
//# sourceMappingURL=WidgetPopup.d.ts.map