/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ElementRef, EventEmitter, OnInit, OnChanges, OnDestroy, NgZone, Renderer2, TemplateRef } from '@angular/core';
import { Align } from './models/align.interface';
import { Collision } from './models/collision.interface';
import { Offset } from './models/offset.interface';
import { Margin } from './models/margin.interface';
import { PositionMode } from './models/position-mode';
import { PopupAnimation } from './models/popup-animation.interface';
import { AlignService } from './services/align.service';
import { DOMService } from './services/dom.service';
import { PositionService } from './services/position.service';
import { ResizeService } from './services/resize.service';
import { ScrollableService } from './services/scrollable.service';
import { AnimationService } from './services/animation.service';
import { ResizeSensorComponent } from '@progress/kendo-angular-common';
import * as i0 from "@angular/core";
/**
 * Represents the [Kendo UI Popup component for Angular](https://www.telerik.com/kendo-angular-ui/components/popup).
 *
 * @example
 * ```html
 * <button #anchor (click)="show = !show">Toggle</button>
 * @if (show) {
 *   <kendo-popup [anchor]="anchor">
 *     <strong>Popup content!</strong>
 *   </kendo-popup>
 * }
 * ```
 */
export declare class PopupComponent implements AfterViewInit, OnInit, OnChanges, OnDestroy {
    container: ElementRef;
    private _alignService;
    domService: DOMService;
    private _positionService;
    private _resizeService;
    private _scrollableService;
    private animationService;
    private _renderer;
    private _zone;
    /**
     * Controls the Popup animation. By default, the opening and closing animations are enabled ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/animations)).
     * @default true
     */
    animate: boolean | PopupAnimation;
    /**
     * Sets the element to use as an anchor. The Popup opens next to this element. ([See example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#aligning-to-components)).
     */
    anchor: ElementRef | HTMLElement;
    /**
     * Sets the anchor pivot point ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#positioning)).
     * @default '{ horizontal: "left", vertical: "bottom" }'
     */
    anchorAlign: Align;
    /**
     * Sets the collision behavior of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/viewport-boundary-detection)).
     * @default '{ horizontal: "fit", vertical: "flip" }'
     */
    collision: Collision;
    /**
     * Sets the pivot point of the Popup ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#positioning)).
     * @default '{ horizontal: "left", vertical: "top" }'
     */
    popupAlign: Align;
    /**
     * Controls whether the component copies the `anchor` font styles.
     * @default false
     */
    copyAnchorStyles: boolean;
    /**
     * 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 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.
     * @default 'fixed'
     */
    positionMode: PositionMode;
    /**
     * 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 Popup pivot point is defined by the `popupAlign` option. The boundary detection uses the window viewport.
     * @default '{ left: -10000, top: 0 }'
     */
    offset: Offset;
    /**
     * Sets the margin value in pixels. Adds blank space between the Popup and the anchor ([see example](https://www.telerik.com/kendo-angular-ui/components/popup/aligning-positioning#adding-a-margin)).
     */
    margin: Margin;
    /**
     * Fires when the anchor scrolls outside the screen boundaries. ([See example](https://www.telerik.com/kendo-angular-ui/components/popup/closing)).
     */
    anchorViewportLeave: EventEmitter<any>;
    /**
     * Fires after the component closes.
     */
    close: EventEmitter<any>;
    /**
     * Fires after the component opens and the opening animation ends.
     */
    open: EventEmitter<any>;
    /**
     * Fires after the component is opened and the Popup is positioned.
     */
    positionChange: EventEmitter<any>;
    /**
     * @hidden
     */
    contentContainer?: ElementRef;
    /**
     * @hidden
     */
    resizeSensor: ResizeSensorComponent;
    /**
     * @hidden
     */
    content?: TemplateRef<any>;
    /**
     * @hidden
     */
    renderDefaultClass: boolean;
    private resolvedPromise;
    private _currentOffset?;
    private animationSubscriptions;
    private repositionSubscription;
    private initialCheck;
    constructor(container: ElementRef, _alignService: AlignService, domService: DOMService, _positionService: PositionService, _resizeService: ResizeService, _scrollableService: ScrollableService, animationService: AnimationService, _renderer: Renderer2, _zone: NgZone);
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    onResize(): void;
    private onAnimationStart;
    private onAnimationEnd;
    private get currentOffset();
    private set currentOffset(value);
    private setZIndex;
    private reposition;
    private position;
    private onScroll;
    private copyFontStyles;
    private updateFixedClass;
    private setContainerStyle;
    private unsubscribeReposition;
    private get hasCustomOffset();
    static ɵfac: i0.ɵɵFactoryDeclaration<PopupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PopupComponent, "kendo-popup", ["kendo-popup"], { "animate": { "alias": "animate"; "required": false; }; "anchor": { "alias": "anchor"; "required": false; }; "anchorAlign": { "alias": "anchorAlign"; "required": false; }; "collision": { "alias": "collision"; "required": false; }; "popupAlign": { "alias": "popupAlign"; "required": false; }; "copyAnchorStyles": { "alias": "copyAnchorStyles"; "required": false; }; "popupClass": { "alias": "popupClass"; "required": false; }; "positionMode": { "alias": "positionMode"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; }, { "anchorViewportLeave": "anchorViewportLeave"; "close": "close"; "open": "open"; "positionChange": "positionChange"; }, never, ["*"], true, never>;
}
