/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, TemplateRef, ViewContainerRef } from '@angular/core';
import { Align } from './align.interface';
import { Collision } from './collision.interface';
import { Margin } from './margin.interface';
import { Offset } from './offset.interface';
import { PositionMode } from './position-mode';
import { PopupAnimation } from './popup-animation.interface';
/**
 * Defines the settings for the Popup when you open it through `PopupService` ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/api/popupservice#open)).
 */
export interface PopupSettings {
    /**
     * Controls the Popup animation. By default, the open and close animations are enabled ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/animations)).
     */
    animate?: boolean | PopupAnimation;
    /**
     * Sets the element to use as an anchor. The Popup opens next to this element.
     */
    anchor?: ElementRef | HTMLElement;
    /**
     * Sets the container to which the Popup appends.
     */
    appendTo?: ViewContainerRef;
    /**
     * Sets the anchor pivot point ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning)).
     */
    anchorAlign?: Align;
    /**
     * Sets the content of the Popup.
     */
    content?: TemplateRef<any> | Function;
    /**
     * Sets the collision behavior of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/viewport-boundary-detection)).
     */
    collision?: Collision;
    /**
     * Sets the margin value in pixels. Adds blank space between the Popup and the anchor.
     */
    margin?: Margin;
    /**
     * Sets the position mode of the component. By default, the Popup uses fixed positioning. To use absolute positioning, set this option to `absolute`.
     *
     * To support mobile browsers with the zoom option, use the `absolute` positioning of the Popup.
     */
    positionMode?: PositionMode;
    /**
     * Sets the pivot point of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning)).
     */
    popupAlign?: Align;
    /**
     * Sets a list of CSS classes to add to the internal animated element ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/styling)).
     *
     * > To style the content of the Popup, use this property binding.
     */
    popupClass?: string | Array<string> | object | Set<string>;
    /**
     * Sets the absolute position of the element ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#aligning-to-absolute-points)).
     * The Popup opens next to this point. The pivot point of the Popup is defined by the `popupAlign` option. The boundary detection uses the window viewport.
     */
    offset?: Offset;
}
