import { IgRect } from "./IgRect";
import { Popup } from "./Popup";
import { IgcOnPopupEventArgs } from './igc-on-popup-event-args';
import { IgcOnClosedEventArgs } from './igc-on-closed-event-args';
import { IgcFocusEventArgs } from './igc-focus-event-args';
import { PopupDirection } from "./PopupDirection";
import { PopupAlignment } from "./PopupAlignment";
import { PopupAnimationType } from "./PopupAnimationType";
import { PopupPointerPosition } from "./PopupPointerPosition";
import { IgcHTMLElement } from "./igc-html-element";
export declare class IgcPopupComponent extends IgcHTMLElement {
    private _implementation;
    private _height;
    private _width;
    private _mainDiv;
    private _portalManager;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _webComponentRenderer;
    constructor();
    private _onChildrenChanged;
    updateStyle(): void;
    destroy(): void;
    protected createImplementation(): Popup;
    get i(): Popup;
    private _disconnected;
    disconnectedCallback(): void;
    connectedCallback(): void;
    afterContentInit(): void;
    private _settingAttributes;
    protected _attached: boolean;
    private _queuedSetAttributes;
    protected _enqueueSetAttribute(attrName: string, attrValue: string): void;
    protected _flushQueuedAttributes(): void;
    protected _a(attrName: string, attrValue: any): void;
    private static _observedAttributesIgcPopupComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    static htmlTagName: string;
    protected static _isElementRegistered: boolean;
    static register(): void;
    get isFocusable(): boolean;
    set isFocusable(v: boolean);
    /**
     * Gets or sets the duration of the Popup and Closeup animations in milliseconds.
    */
    get animationDuration(): number;
    set animationDuration(v: number);
    /**
     * Gets or sets whether the popup and closeup animations are animated.
    */
    get animationEnabled(): boolean;
    set animationEnabled(v: boolean);
    /**
     * Gets or sets the type of animation to use when the popup opens and closes.
    */
    get animationType(): PopupAnimationType;
    set animationType(v: PopupAnimationType);
    /**
     * Gets or sets the elevation to use for the button regardless of type.
    */
    get elevation(): number;
    set elevation(v: number);
    /**
     * Gets or sets the elevation of the border shadow
    */
    get actualElevation(): number;
    set actualElevation(v: number);
    /**
     * Gets / sets the isShown state of the panel.
    */
    get isShown(): boolean;
    /**
     * 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);
    /**
     * Gets or sets whether to disable hit testing on the popup.
    */
    get isHitTestVisible(): boolean;
    set isHitTestVisible(v: boolean);
    /**
     * Gets or sets whether to disable hit testing during the open and close animations.
    */
    get disableHitTestDuringAnimation(): boolean;
    set disableHitTestDuringAnimation(v: boolean);
    /**
     * 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);
    /**
     * Gets or sets the pointer position.
    */
    get pointerPosition(): PopupPointerPosition;
    set pointerPosition(v: PopupPointerPosition);
    /**
     * Gets or sets the pointer background color.
    */
    get pointerBackground(): string;
    set pointerBackground(v: 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, popupAlignment: PopupAlignment): 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;
    private _onClosed_wrapped;
    get onClosed(): (s: IgcPopupComponent, e: IgcOnClosedEventArgs) => void;
    set onClosed(ev: (s: IgcPopupComponent, e: IgcOnClosedEventArgs) => void);
    private _onPopup;
    private _onPopup_wrapped;
    /**
     * Fires when the popup is shown
    */
    get onPopup(): (s: IgcPopupComponent, e: IgcOnPopupEventArgs) => void;
    set onPopup(ev: (s: IgcPopupComponent, e: IgcOnPopupEventArgs) => void);
    private _popupGotFocus;
    private _popupGotFocus_wrapped;
    /**
     * Fired when the open popup gains focus.
    */
    get popupGotFocus(): (s: IgcPopupComponent, e: IgcFocusEventArgs) => void;
    set popupGotFocus(ev: (s: IgcPopupComponent, e: IgcFocusEventArgs) => void);
    private _popupLostFocus;
    private _popupLostFocus_wrapped;
    /**
     * Fired when the open popup loses focus.
    */
    get popupLostFocus(): (s: IgcPopupComponent, e: IgcFocusEventArgs) => void;
    set popupLostFocus(ev: (s: IgcPopupComponent, e: IgcFocusEventArgs) => void);
}
