import { type IAttachable } from '../../../Behaviors/Attachable';
import { Trigger } from '../../../Types/Trigger';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { IPopupElementProps } from './IPopupElementProps';
declare const PopupElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => IAttachable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Elevatable").IElevatableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Popup - A transient dialog or window that appears on top of other content.
 *
 * @element mosaik-popup
 *
 * @public
 */
export declare class PopupElement extends PopupElement_base implements IPopupElementProps, IAttachable {
    private readonly _resizeController;
    private _verticalOffset;
    private _horizontalOffset;
    private _staysOpen;
    private _placement;
    private _isOpen;
    private _openTrigger;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `verticalOffset` property.
     *
     * @public
     * @attr
     */
    get verticalOffset(): string;
    set verticalOffset(value: string);
    /**
     * Gets or sets the `horizontalOffset` property.
     *
     * @public
     * @attr
     */
    get horizontalOffset(): string;
    set horizontalOffset(value: string);
    /**
     * Gets or sets the `staysOpen` property.
     *
     * @public
     * @attr
     */
    get staysOpen(): boolean;
    set staysOpen(value: boolean);
    /**
     * Gets or sets the `placement` property.
     *
     * @public
     * @attr
     */
    get placement(): string;
    set placement(value: string);
    /**
     * Gets or sets the `isOpen` property.
     *
     * @public
     * @attr
     */
    get isOpen(): boolean;
    set isOpen(value: boolean);
    /**
     * Gets or sets the `openTrigger` property.
     *
     * @public
     * @attr
     */
    get openTrigger(): Trigger;
    set openTrigger(value: Trigger);
}
/**
 * @public
 */
export declare namespace PopupElement {
    type Props = IPopupElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-popup': PopupElement;
    }
}
export {};
//# sourceMappingURL=PopupElement.d.ts.map