import React from 'react'; import { MouseStateEvent } from '../../hooks'; export type PopoverOrigin = 'top-left' | 'top-center' | 'top-right' | 'center-right' | 'bottom-right' | 'bottom-center' | 'bottom-left' | 'center-left' | 'center-center'; export type PopoverAnchor = React.RefObject | [x: number, y: number]; export declare const SilkePopoverContext: ({ target, children, }: { target: React.RefObject; children: React.ReactElement; }) => import("react/jsx-runtime").JSX.Element; export interface SilkePopoverProps { /** Element or position to anchor the popover to, if not defined the center of screen is used */ anchor?: PopoverAnchor; /** Children to add inside the popover */ children?: React.ReactElement | React.ReactElement[]; /** * If popover belongs to a group of popovers, * using contextId will close all other with same id when hide = false on this * @example overflow menu - only one overflow menu should be one at any time * */ contextId?: string; /** SHould the popover be hidden */ hide?: boolean; /** What point of the target should be used for centering default center-center */ targetOrigin?: PopoverOrigin; /** What point of the anchor should be used for centering default center-center */ anchorOrigin?: PopoverOrigin; /** Offset the popover position */ offsetX?: number; /** Offset the popover position */ offsetY?: number; /** If transforming popover children, don't want popover container to be clickable */ pointerEventsNone?: boolean; /** Z-index of popover */ zIndex?: number; /** Set the target width to the same width of anchor */ matchAnchorWidth?: boolean; /** Set the target height to the same height of anchor */ matchAnchorHeight?: boolean; /** Disabled request close on click outside */ disabledClickOutside?: boolean; translateAnimation?: boolean; shadow?: 'level1' | 'level2' | 'level3' | 'level4'; /** Triggered when it's desired that the popover is hidden */ onRequestClose?: (event?: MouseStateEvent) => void; onKeyUp?: () => void; } export declare function SilkePopover({ anchor, children, contextId, hide, targetOrigin, anchorOrigin, offsetX, offsetY, pointerEventsNone, matchAnchorWidth, matchAnchorHeight, disabledClickOutside, zIndex, shadow, translateAnimation, onRequestClose, }: SilkePopoverProps): React.ReactPortal; export declare function isRefObject(value?: PopoverAnchor): value is React.RefObject; export declare function applyPopoverStyles(target: HTMLElement, anchor?: PopoverAnchor, anchorOrigin?: PopoverOrigin, targetOrigin?: PopoverOrigin, offsetX?: number, offsetY?: number, zIndex?: number, matchAnchorWidth?: boolean, matchAnchorHeight?: boolean, pointerEventsNone?: boolean | undefined, translateAnimation?: boolean): void;