/**
 * Copyright Aquera Inc 2023
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { TemplateResult, PropertyValues } from 'lit-element';
import NileElement from '../internal/nile-element';
import { CSSResultGroup } from 'lit';
/**
 * Nile icon component.
 *
 * @tag nile-popover
 *
 */
export declare class NilePopover extends NileElement {
    /**
     * The styles for Popover
     * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
     */
    static get styles(): CSSResultGroup;
    /**
     * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip
     * inside of the viewport.
     */
    placement: 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
    /** The distance in pixels from which to offset the popover away from its target. */
    distance: number;
    preventOverlayClose: boolean;
    arrow: boolean;
    /** Gives the title to the popover */
    title: string;
    open: boolean;
    isShow: boolean;
    arrowPlacement: 'start' | 'end' | 'center' | 'anchor';
    private portalManager;
    private visibilityManager?;
    enableVisibilityEffect: boolean;
    enableTabClose: boolean;
    /**
     * Enable this option to prevent the panel from being clipped when the component is placed inside a container with
     * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
     */
    hoist: boolean;
    /**
     * Enable portal mode to render the popover content in a portal outside the component's DOM tree.
     * This provides better positioning control and prevents clipping issues in complex layouts.
     */
    portal: boolean;
    flip: boolean;
    /**
     * Render method
     * @slot This is a slot test
     */
    connectedCallback(): void;
    disconnectedCallback(): void;
    protected firstUpdated(_changed: PropertyValues): Promise<void>;
    protected updated(_changedProperties: PropertyValues): void;
    handleShowHide(): void;
    render(): TemplateResult;
    private handleClick;
    private handleDocumentClick;
    updatePortalContent(): void;
    forceReposition(): void;
    getCurrentPlacement(): string;
    isPositioningOptimal(): boolean;
}
export default NilePopover;
declare global {
    interface HTMLElementTagNameMap {
        'nile-popover': NilePopover;
    }
}
