import { TransferState } from '@angular/platform-browser';
import { ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges, QueryList } from '@angular/core';
import { AnimationConfig } from 'devextreme/animation/fx';
import DevExpress from 'devextreme/bundles/dx.all';
import { UserDefinedElement } from 'devextreme/core/element';
import DxPopup from 'devextreme/ui/popup';
import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import { DxiToolbarItemComponent } from 'devextreme-angular/ui/nested';
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/ui/nested";
import * as i2 from "devextreme-angular/core";
import * as i3 from "@angular/platform-browser";
/**
 * The Popup UI component is a pop-up window overlaying the current view.

 */
export declare class DxPopupComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {
    private _watcherHelper;
    private _idh;
    instance: DxPopup;
    /**
     * Specifies the shortcut key that sets focus on the UI component.
    
     */
    get accessKey(): string | undefined;
    set accessKey(value: string | undefined);
    /**
     * Configures UI component visibility animations. This object contains two fields: show and hide.
    
     */
    get animation(): {
        hide?: AnimationConfig;
        show?: AnimationConfig;
    };
    set animation(value: {
        hide?: AnimationConfig;
        show?: AnimationConfig;
    });
    /**
     * Specifies whether to close the UI component if a user clicks outside it.
    
     * @deprecated Use the hideOnOutsideClick option instead.
    
     */
    get closeOnOutsideClick(): boolean | Function;
    set closeOnOutsideClick(value: boolean | Function);
    /**
     * Specifies the container in which to render the UI component.
    
     */
    get container(): string | UserDefinedElement | undefined;
    set container(value: string | UserDefinedElement | undefined);
    /**
     * Specifies a custom template for the UI component content.
    
     */
    get contentTemplate(): any;
    set contentTemplate(value: any);
    /**
     * Copies your custom CSS classes from the root element to the wrapper element.
    
     * @deprecated Use the wrapperAttr property instead.
    
     */
    get copyRootClassesToWrapper(): boolean;
    set copyRootClassesToWrapper(value: boolean);
    /**
     * Specifies whether to render the UI component&apos;s content when it is displayed. If false, the content is rendered immediately.
    
     */
    get deferRendering(): boolean;
    set deferRendering(value: boolean);
    /**
     * Specifies whether the UI component responds to user interaction.
    
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    /**
     * Specifies an element with boundaries within which users can drag and resize the Popup. Ignored if the dragOutsideBoundary property is set to true.
    
     */
    get dragAndResizeArea(): string | UserDefinedElement | undefined;
    set dragAndResizeArea(value: string | UserDefinedElement | undefined);
    /**
     * Specifies whether or not to allow a user to drag the popup window.
    
     */
    get dragEnabled(): boolean;
    set dragEnabled(value: boolean);
    /**
     * Allows users to drag the Popup within the browser window or beyond the window&apos;s borders.
    
     */
    get dragOutsideBoundary(): boolean;
    set dragOutsideBoundary(value: boolean);
    /**
     * Specifies the global attributes to be attached to the UI component&apos;s container element.
    
     * @deprecated Use the wrapperAttr option instead.
    
     */
    get elementAttr(): any;
    set elementAttr(value: any);
    /**
     * Specifies whether the UI component can be focused using keyboard navigation.
    
     */
    get focusStateEnabled(): boolean;
    set focusStateEnabled(value: boolean);
    /**
     * Specifies whether to display the Popup in full-screen mode.
    
     */
    get fullScreen(): boolean;
    set fullScreen(value: boolean);
    /**
     * Specifies the UI component&apos;s height.
    
     */
    get height(): number | Function | string;
    set height(value: number | Function | string);
    /**
     * Specifies whether to hide the UI component if a user clicks outside it.
    
     */
    get hideOnOutsideClick(): boolean | Function;
    set hideOnOutsideClick(value: boolean | Function);
    /**
     * Specifies whether to hide the widget when users scroll one of its parent elements.
    
     */
    get hideOnParentScroll(): boolean;
    set hideOnParentScroll(value: boolean);
    /**
     * Specifies text for a hint that appears when a user pauses on the UI component.
    
     */
    get hint(): string | undefined;
    set hint(value: string | undefined);
    /**
     * Specifies whether the UI component changes its state when a user pauses on it.
    
     */
    get hoverStateEnabled(): boolean;
    set hoverStateEnabled(value: boolean);
    /**
     * Specifies the maximum height the UI component can reach while resizing.
    
     */
    get maxHeight(): number | Function | string;
    set maxHeight(value: number | Function | string);
    /**
     * Specifies the maximum width the UI component can reach while resizing.
    
     */
    get maxWidth(): number | Function | string;
    set maxWidth(value: number | Function | string);
    /**
     * Specifies the minimum height the UI component can reach while resizing.
    
     */
    get minHeight(): number | Function | string;
    set minHeight(value: number | Function | string);
    /**
     * Specifies the minimum width the UI component can reach while resizing.
    
     */
    get minWidth(): number | Function | string;
    set minWidth(value: number | Function | string);
    /**
     * Positions the UI component.
    
     */
    get position(): DevExpress.PositionConfig | Function | string;
    set position(value: DevExpress.PositionConfig | Function | string);
    /**
     * Specifies whether or not an end user can resize the UI component.
    
     */
    get resizeEnabled(): boolean;
    set resizeEnabled(value: boolean);
    /**
     * Specifies whether to display the widget at the initial position when users reopen it.
    
     */
    get restorePosition(): boolean;
    set restorePosition(value: boolean);
    /**
     * Switches the UI component to a right-to-left representation.
    
     */
    get rtlEnabled(): boolean;
    set rtlEnabled(value: boolean);
    /**
     * Specifies whether to shade the background when the UI component is active.
    
     */
    get shading(): boolean;
    set shading(value: boolean);
    /**
     * Specifies the shading color. Applies only if shading is enabled.
    
     */
    get shadingColor(): string;
    set shadingColor(value: string);
    /**
     * Specifies whether or not the UI component displays the Close button.
    
     */
    get showCloseButton(): boolean;
    set showCloseButton(value: boolean);
    /**
     * A Boolean value specifying whether or not to display the title in the popup window.
    
     */
    get showTitle(): boolean;
    set showTitle(value: boolean);
    /**
     * Specifies the number of the element when the Tab key is used for navigating.
    
     */
    get tabIndex(): number;
    set tabIndex(value: number);
    /**
     * The title in the overlay window.
    
     */
    get title(): string;
    set title(value: string);
    /**
     * Specifies a custom template for the UI component title. Does not apply if the title is defined.
    
     */
    get titleTemplate(): any;
    set titleTemplate(value: any);
    /**
     * Configures toolbar items.
    
     */
    get toolbarItems(): Array<any | {
        disabled?: boolean;
        html?: string;
        location?: string;
        options?: any;
        template?: any;
        text?: string;
        toolbar?: string;
        visible?: boolean;
        widget?: string;
    }>;
    set toolbarItems(value: Array<any | {
        disabled?: boolean;
        html?: string;
        location?: string;
        options?: any;
        template?: any;
        text?: string;
        toolbar?: string;
        visible?: boolean;
        widget?: string;
    }>);
    /**
     * A Boolean value specifying whether or not the UI component is visible.
    
     */
    get visible(): boolean;
    set visible(value: boolean);
    /**
     * Specifies the UI component&apos;s width.
    
     */
    get width(): number | Function | string;
    set width(value: number | Function | string);
    /**
     * Specifies the global attributes for the UI component&apos;s wrapper element.
    
     */
    get wrapperAttr(): any;
    set wrapperAttr(value: any);
    /**
    
     * A function that is executed when the UI component is rendered and each time the component is repainted.
    
    
     */
    onContentReady: EventEmitter<any>;
    /**
    
     * A function that is executed before the UI component is disposed of.
    
    
     */
    onDisposing: EventEmitter<any>;
    /**
    
     * A function that is executed after the UI component is hidden.
    
    
     */
    onHidden: EventEmitter<any>;
    /**
    
     * A function that is executed before the UI component is hidden.
    
    
     */
    onHiding: EventEmitter<any>;
    /**
    
     * A function used in JavaScript frameworks to save the UI component instance.
    
    
     */
    onInitialized: EventEmitter<any>;
    /**
    
     * A function that is executed after a UI component property is changed.
    
    
     */
    onOptionChanged: EventEmitter<any>;
    /**
    
     * A function that is executed each time the UI component is resized by one pixel.
    
    
     */
    onResize: EventEmitter<any>;
    /**
    
     * A function that is executed when resizing ends.
    
    
     */
    onResizeEnd: EventEmitter<any>;
    /**
    
     * A function that is executed when resizing starts.
    
    
     */
    onResizeStart: EventEmitter<any>;
    /**
    
     * A function that is executed before the UI component is displayed.
    
    
     */
    onShowing: EventEmitter<any>;
    /**
    
     * A function that is executed after the UI component is displayed.
    
    
     */
    onShown: EventEmitter<any>;
    /**
    
     * A function that is executed when the UI component&apos;s title is rendered.
    
    
     */
    onTitleRendered: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    accessKeyChange: EventEmitter<string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    animationChange: EventEmitter<{
        hide?: AnimationConfig;
        show?: AnimationConfig;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    closeOnOutsideClickChange: EventEmitter<boolean | Function>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    containerChange: EventEmitter<string | UserDefinedElement | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    contentTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    copyRootClassesToWrapperChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    deferRenderingChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    disabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dragAndResizeAreaChange: EventEmitter<string | UserDefinedElement | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dragEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dragOutsideBoundaryChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    elementAttrChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    focusStateEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    fullScreenChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    heightChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    hideOnOutsideClickChange: EventEmitter<boolean | Function>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    hideOnParentScrollChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    hintChange: EventEmitter<string | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    hoverStateEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxHeightChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxWidthChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    minHeightChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    minWidthChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    positionChange: EventEmitter<DevExpress.PositionConfig | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    resizeEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    restorePositionChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    rtlEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    shadingChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    shadingColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showCloseButtonChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showTitleChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    tabIndexChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    titleChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    titleTemplateChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    toolbarItemsChange: EventEmitter<Array<any | {
        disabled?: boolean;
        html?: string;
        location?: string;
        options?: any;
        template?: any;
        text?: string;
        toolbar?: string;
        visible?: boolean;
        widget?: string;
    }>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    visibleChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    widthChange: EventEmitter<number | Function | string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    wrapperAttrChange: EventEmitter<any>;
    get toolbarItemsChildren(): QueryList<DxiToolbarItemComponent>;
    set toolbarItemsChildren(value: QueryList<DxiToolbarItemComponent>);
    constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);
    protected _createInstance(element: any, options: any): DxPopup<any>;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    setupChanges(prop: string, changes: SimpleChanges): void;
    ngDoCheck(): void;
    _setOption(name: string, value: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxPopupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxPopupComponent, "dx-popup", never, { "accessKey": "accessKey"; "animation": "animation"; "closeOnOutsideClick": "closeOnOutsideClick"; "container": "container"; "contentTemplate": "contentTemplate"; "copyRootClassesToWrapper": "copyRootClassesToWrapper"; "deferRendering": "deferRendering"; "disabled": "disabled"; "dragAndResizeArea": "dragAndResizeArea"; "dragEnabled": "dragEnabled"; "dragOutsideBoundary": "dragOutsideBoundary"; "elementAttr": "elementAttr"; "focusStateEnabled": "focusStateEnabled"; "fullScreen": "fullScreen"; "height": "height"; "hideOnOutsideClick": "hideOnOutsideClick"; "hideOnParentScroll": "hideOnParentScroll"; "hint": "hint"; "hoverStateEnabled": "hoverStateEnabled"; "maxHeight": "maxHeight"; "maxWidth": "maxWidth"; "minHeight": "minHeight"; "minWidth": "minWidth"; "position": "position"; "resizeEnabled": "resizeEnabled"; "restorePosition": "restorePosition"; "rtlEnabled": "rtlEnabled"; "shading": "shading"; "shadingColor": "shadingColor"; "showCloseButton": "showCloseButton"; "showTitle": "showTitle"; "tabIndex": "tabIndex"; "title": "title"; "titleTemplate": "titleTemplate"; "toolbarItems": "toolbarItems"; "visible": "visible"; "width": "width"; "wrapperAttr": "wrapperAttr"; }, { "onContentReady": "onContentReady"; "onDisposing": "onDisposing"; "onHidden": "onHidden"; "onHiding": "onHiding"; "onInitialized": "onInitialized"; "onOptionChanged": "onOptionChanged"; "onResize": "onResize"; "onResizeEnd": "onResizeEnd"; "onResizeStart": "onResizeStart"; "onShowing": "onShowing"; "onShown": "onShown"; "onTitleRendered": "onTitleRendered"; "accessKeyChange": "accessKeyChange"; "animationChange": "animationChange"; "closeOnOutsideClickChange": "closeOnOutsideClickChange"; "containerChange": "containerChange"; "contentTemplateChange": "contentTemplateChange"; "copyRootClassesToWrapperChange": "copyRootClassesToWrapperChange"; "deferRenderingChange": "deferRenderingChange"; "disabledChange": "disabledChange"; "dragAndResizeAreaChange": "dragAndResizeAreaChange"; "dragEnabledChange": "dragEnabledChange"; "dragOutsideBoundaryChange": "dragOutsideBoundaryChange"; "elementAttrChange": "elementAttrChange"; "focusStateEnabledChange": "focusStateEnabledChange"; "fullScreenChange": "fullScreenChange"; "heightChange": "heightChange"; "hideOnOutsideClickChange": "hideOnOutsideClickChange"; "hideOnParentScrollChange": "hideOnParentScrollChange"; "hintChange": "hintChange"; "hoverStateEnabledChange": "hoverStateEnabledChange"; "maxHeightChange": "maxHeightChange"; "maxWidthChange": "maxWidthChange"; "minHeightChange": "minHeightChange"; "minWidthChange": "minWidthChange"; "positionChange": "positionChange"; "resizeEnabledChange": "resizeEnabledChange"; "restorePositionChange": "restorePositionChange"; "rtlEnabledChange": "rtlEnabledChange"; "shadingChange": "shadingChange"; "shadingColorChange": "shadingColorChange"; "showCloseButtonChange": "showCloseButtonChange"; "showTitleChange": "showTitleChange"; "tabIndexChange": "tabIndexChange"; "titleChange": "titleChange"; "titleTemplateChange": "titleTemplateChange"; "toolbarItemsChange": "toolbarItemsChange"; "visibleChange": "visibleChange"; "widthChange": "widthChange"; "wrapperAttrChange": "wrapperAttrChange"; }, ["toolbarItemsChildren"], ["*"]>;
}
export declare class DxPopupModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxPopupModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxPopupModule, [typeof DxPopupComponent], [typeof i1.DxoAnimationModule, typeof i1.DxoHideModule, typeof i1.DxoFromModule, typeof i1.DxoPositionModule, typeof i1.DxoAtModule, typeof i1.DxoBoundaryOffsetModule, typeof i1.DxoCollisionModule, typeof i1.DxoMyModule, typeof i1.DxoOffsetModule, typeof i1.DxoToModule, typeof i1.DxoShowModule, typeof i1.DxiToolbarItemModule, typeof i2.DxIntegrationModule, typeof i2.DxTemplateModule, typeof i3.BrowserTransferStateModule], [typeof DxPopupComponent, typeof i1.DxoAnimationModule, typeof i1.DxoHideModule, typeof i1.DxoFromModule, typeof i1.DxoPositionModule, typeof i1.DxoAtModule, typeof i1.DxoBoundaryOffsetModule, typeof i1.DxoCollisionModule, typeof i1.DxoMyModule, typeof i1.DxoOffsetModule, typeof i1.DxoToModule, typeof i1.DxoShowModule, typeof i1.DxiToolbarItemModule, typeof i2.DxTemplateModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxPopupModule>;
}
