/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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]({% slug overview_popup %}).
*
* @example
* ```html
*
*
* Popup content!
*
* ```
*/
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]({% slug animations_popup %})).
* @default true
*/
animate: boolean | PopupAnimation;
/**
* Sets the element to use as an anchor. The Popup opens next to this element. ([See example]({% slug alignmentpositioning_popup %}#toc-aligning-to-components)).
*/
anchor: ElementRef | HTMLElement;
/**
* Sets the anchor pivot point ([see example]({% slug alignmentpositioning_popup %}#toc-positioning)).
* @default '{ horizontal: "left", vertical: "bottom" }'
*/
anchorAlign: Align;
/**
* Sets the collision behavior of the Popup ([see example]({% slug viewportboundarydetection_popup %})).
* @default '{ horizontal: "fit", vertical: "flip" }'
*/
collision: Collision;
/**
* Sets the pivot point of the Popup ([see example]({% slug alignmentpositioning_popup %}#toc-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]({% slug appearance_popup %})).
*
* > To style the content of the Popup, use this property binding.
*/
popupClass: string | Array | Object;
/**
* 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]({% slug alignmentpositioning_popup %}#toc-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]({% slug alignmentpositioning_popup %}#toc-adding-a-margin)).
*/
margin: Margin;
/**
* Fires when the anchor scrolls outside the screen boundaries. ([See example]({% slug closing_popup %}#toc-after-leaving-the-viewport)).
*/
anchorViewportLeave: EventEmitter;
/**
* Fires after the component closes.
*/
close: EventEmitter;
/**
* Fires after the component opens and the opening animation ends.
*/
open: EventEmitter;
/**
* Fires after the component is opened and the Popup is positioned.
*/
positionChange: EventEmitter;
/**
* @hidden
*/
contentContainer?: ElementRef;
/**
* @hidden
*/
resizeSensor: ResizeSensorComponent;
/**
* @hidden
*/
content?: TemplateRef;
/**
* @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;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}