import { EventEmitter } from '../../stencil-public-runtime';
import { Image, Icon, FileInfo, OpenDirection, ListSeparator, ActionBarItem, IconName } from '@limetech/lime-elements';
/**
 * This component uses
 * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
 * and
 * [limel-card](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-card/)
 * to offer a quick insight into the object it is applied to.
 *
 * `limebb-summary-popover` wraps the trigger element of your choice.
 * When the element is hovered or focused using keyboard, this component will
 * open a popover after a short predefined delay.
 *
 * Inside the popover, a card is displayed, which is supposed to be used
 * to show a brief summary of the trigger element.
 *
 * The popover remains open even if the user moves the cursor away from the
 * trigger element or navigates away with the keyboard.
 * This allows the user to interact with the popover content without it closing unexpectedly.
 *
 *
 * ## Usage
 * The component offers quick access to information, can shorten navigation paths
 * and prevent errors with an easier way of identifying an object without loosing
 * the current position in the interface or loosing progress in the user's current activity.
 *
 * ## Trigger Interaction for Popovers
 * Popovers are typically triggered by a click event, but in this case we have
 * chosen to open this popover by hovering the trigger element.
 * This is especially useful because you can use this component, together with
 * trigger elements that perform anther action on click,
 * such as navigating to another page or activating a different function.
 *
 * :::important
 * Key considerations when using hover and focus triggers:
 *
 * **Trigger must be keyboard-focusable**:
 * The element placed in the `trigger` slot must be focusable via keyboard
 * (e.g. a button, link, chip, or any element with `tabindex`).
 * The popover relies on `focusin` events from the trigger to open on keyboard navigation.
 * Non-focusable triggers will still work with mouse hover but will not be
 * accessible via keyboard.
 *
 * **Trigger Size**:
 * A summary-popover should be applied to small trigger elements in the user interface.
 *
 * **Touchscreen Accessibility**:
 * Consider the experience for users on touchscreen devices. Hover interactions might not be available,
 * so ensure the design is accessible to them.
 *
 * **Low discoverability**:
 * Remember that such interaction are not easily discovered by the end-users.
 * Therefore, you should avoid having any critical functionality to be hidden
 * behind such interactions, and only use it as supplementary means of enriching
 * the user experience.
 * :::
 *
 * @exampleComponent limebb-example-summary-popover-basic
 * @exampleComponent limebb-example-summary-popover-image
 * @exampleComponent limebb-example-summary-popover-file-preview
 * @exampleComponent limebb-example-summary-popover-actions
 * @exampleComponent limebb-example-summary-popover-trigger-delay
 *
 * @beta
 */
export declare class SummaryPopover {
    /**
     * The delay in milliseconds, before the popover opens.
     */
    triggerDelay: number;
    /**
     * Text to display a header inside the card.
     */
    heading?: string;
    /**
     * Subheading of the card,
     * to provide a short description of the context.
     */
    subheading?: string;
    /**
     * A hero image to display in the card,
     * to enrich the content with visual information.
     */
    image?: Image;
    /**
     * A file to preview in the popover.
     * When provided, a `limel-file-viewer` is rendered
     * inside the card alongside any other card content.
     */
    file?: FileInfo;
    /**
     * An icon, to display along with the heading and subheading.
     */
    icon?: IconName | Icon;
    /**
     * The content of the card.
     * Supports markdown, to provide a rich text experience.
     */
    value?: string;
    /**
     * Decides the popover's location in relation to its trigger
     */
    openDirection: OpenDirection;
    /**
     * The maximum width of the popover.
     */
    popoverMaxWidth: string;
    /**
     * The maximum height of the popover.
     */
    popoverMaxHeight: string;
    /**
     * Actions to display in the card,
     * to provide the user with options to interact with the content.
     */
    actions?: Array<ActionBarItem | ListSeparator>;
    /**
     * Fired when an action bar item has been clicked.
     */
    actionSelected: EventEmitter<ActionBarItem>;
    private isPopoverOpen;
    private hoverTimeout;
    private static currentOpenPopover;
    render(): any;
    private renderCard;
    private renderFileViewer;
    private openPopoverWithDelay;
    private resetTimeout;
    private onPopoverClose;
    private handleCloseClick;
    private handleSelected;
}
//# sourceMappingURL=summary-popover.d.ts.map