import { TemplateRef, EventEmitter, ViewContainerRef, Injector, ComponentFactoryResolver, AfterContentInit, Renderer2, ElementRef, NgZone } from '@angular/core';
import { IgRect } from "./IgRect";
import { Popup } from './Popup';
import { IgxOnPopupEventArgs } from './igx-on-popup-event-args';
import { IgxOnClosedEventArgs } from './igx-on-closed-event-args';
import { IgxFocusEventArgs } from './igx-focus-event-args';
import { PopupDirection } from "./PopupDirection";
import { PopupAlignment } from "./PopupAlignment";
import { PopupAnimationType } from "./PopupAnimationType";
import { PopupPointerPosition } from "./PopupPointerPosition";
import { IgxPopupMeasuringContentSizeEventArgs } from './igx-popup-measuring-content-size-event-args';
import * as i0 from "@angular/core";
export declare class IgxPopupComponent implements AfterContentInit {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    private componentFactoryResolver;
    _mainDiv: Element;
    _mainDivRef: ElementRef;
    _dynamicContent: ViewContainerRef;
    _childTemplateRef: TemplateRef<any>;
    private _angularRenderer;
    private _implementation;
    private _componentFactoryResolver;
    private _portalManager;
    private _height;
    private _width;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector, componentFactoryResolver: ComponentFactoryResolver);
    updateStyle(): void;
    ngOnDestroy(): void;
    ngAfterViewInit(): void;
    ngAfterContentInit(): void;
    protected createImplementation(): Popup;
    get i(): Popup;
    get isFocusable(): boolean;
    set isFocusable(v: boolean);
    static ngAcceptInputType_isFocusable: boolean | string;
    /**
     * Gets or sets the duration of the Popup and Closeup animations in milliseconds.
    */
    get animationDuration(): number;
    set animationDuration(v: number);
    static ngAcceptInputType_animationDuration: number | string;
    /**
     * Gets or sets whether the popup and closeup animations are animated.
    */
    get animationEnabled(): boolean;
    set animationEnabled(v: boolean);
    static ngAcceptInputType_animationEnabled: boolean | string;
    /**
     * Gets or sets the type of animation to use when the popup opens and closes.
    */
    get animationType(): PopupAnimationType;
    set animationType(v: PopupAnimationType);
    static ngAcceptInputType_animationType: PopupAnimationType | string;
    /**
     * Gets or sets the elevation to use for the button regardless of type.
    */
    get elevation(): number;
    set elevation(v: number);
    static ngAcceptInputType_elevation: number | string;
    /**
     * Gets or sets the elevation of the border shadow
    */
    get actualElevation(): number;
    set actualElevation(v: number);
    static ngAcceptInputType_actualElevation: number | string;
    /**
     * Gets / sets the isShown state of the panel.
    */
    get isShown(): boolean;
    static ngAcceptInputType_isShown: boolean | string;
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualUmbraShadowColor(): string;
    set actualUmbraShadowColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualPenumbraShadowColor(): string;
    set actualPenumbraShadowColor(v: string);
    /**
     * Gets or sets the color to use for the check mark when the checkbox is checked.
    */
    get actualAmbientShadowColor(): string;
    set actualAmbientShadowColor(v: string);
    /**
     * Gets or sets the background color of the popup.
    */
    get background(): string;
    set background(v: string);
    get cornerRadius(): number;
    set cornerRadius(v: number);
    static ngAcceptInputType_cornerRadius: number | string;
    /**
     * Gets or sets whether to disable hit testing on the popup.
    */
    get isHitTestVisible(): boolean;
    set isHitTestVisible(v: boolean);
    static ngAcceptInputType_isHitTestVisible: boolean | string;
    /**
     * Gets or sets whether to disable hit testing during the open and close animations.
    */
    get disableHitTestDuringAnimation(): boolean;
    set disableHitTestDuringAnimation(v: boolean);
    static ngAcceptInputType_disableHitTestDuringAnimation: boolean | string;
    /**
     * Gets or sets whether to show a pointer off the side of the popup towards the popup target.
    */
    get isPointerEnabled(): boolean;
    set isPointerEnabled(v: boolean);
    static ngAcceptInputType_isPointerEnabled: boolean | string;
    /**
     * Gets or sets the pointer position.
    */
    get pointerPosition(): PopupPointerPosition;
    set pointerPosition(v: PopupPointerPosition);
    static ngAcceptInputType_pointerPosition: PopupPointerPosition | string;
    /**
     * Gets or sets the pointer background color.
    */
    get pointerBackground(): string;
    set pointerBackground(v: string);
    /**
     * Gets or sets the pointer size.
    */
    get pointerSize(): number;
    set pointerSize(v: number);
    static ngAcceptInputType_pointerSize: number | string;
    /**
     * Gets whether the popup is in the middle of opening or not.
    */
    get isShowing(): boolean;
    set isShowing(v: boolean);
    static ngAcceptInputType_isShowing: boolean | string;
    /**
     * Gets whether the popup is in the middle of closing or not.
    */
    get isClosing(): boolean;
    set isClosing(v: boolean);
    static ngAcceptInputType_isClosing: boolean | string;
    /**
     * Indicates that the popup will position itself relative to the window instead of the document.
    */
    get isFixed(): boolean;
    set isFixed(v: boolean);
    static ngAcceptInputType_isFixed: boolean | string;
    /**
     * Indicates that the popup will place itself into the browser top layer.
    */
    get useTopLayer(): boolean;
    set useTopLayer(v: boolean);
    static ngAcceptInputType_useTopLayer: boolean | string;
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
 * Closes the popup.

*/
    close(): void;
    showRelativeToExclusionRect(exclusionRect: IgRect, popupDirection: PopupDirection | string, popupAlignment: PopupAlignment | string): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    private _onClosed;
    get onClosed(): EventEmitter<{
        sender: any;
        args: IgxOnClosedEventArgs;
    }>;
    private _onPopup;
    /**
     * Fires when the popup is shown
    */
    get onPopup(): EventEmitter<{
        sender: any;
        args: IgxOnPopupEventArgs;
    }>;
    private _popupGotFocus;
    /**
     * Fired when the open popup gains focus.
    */
    get popupGotFocus(): EventEmitter<{
        sender: any;
        args: IgxFocusEventArgs;
    }>;
    private _popupLostFocus;
    /**
     * Fired when the open popup loses focus.
    */
    get popupLostFocus(): EventEmitter<{
        sender: any;
        args: IgxFocusEventArgs;
    }>;
    private _measuringContentSize;
    get measuringContentSize(): EventEmitter<{
        sender: any;
        args: IgxPopupMeasuringContentSizeEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPopupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxPopupComponent, "igx-popup", never, { "height": "height"; "width": "width"; "isFocusable": "isFocusable"; "animationDuration": "animationDuration"; "animationEnabled": "animationEnabled"; "animationType": "animationType"; "elevation": "elevation"; "actualElevation": "actualElevation"; "actualUmbraShadowColor": "actualUmbraShadowColor"; "actualPenumbraShadowColor": "actualPenumbraShadowColor"; "actualAmbientShadowColor": "actualAmbientShadowColor"; "background": "background"; "cornerRadius": "cornerRadius"; "isHitTestVisible": "isHitTestVisible"; "disableHitTestDuringAnimation": "disableHitTestDuringAnimation"; "isPointerEnabled": "isPointerEnabled"; "pointerPosition": "pointerPosition"; "pointerBackground": "pointerBackground"; "pointerSize": "pointerSize"; "isShowing": "isShowing"; "isClosing": "isClosing"; "isFixed": "isFixed"; "useTopLayer": "useTopLayer"; }, { "onClosed": "onClosed"; "onPopup": "onPopup"; "popupGotFocus": "popupGotFocus"; "popupLostFocus": "popupLostFocus"; "measuringContentSize": "measuringContentSize"; }, never, ["*"]>;
}
