import { default as React, HTMLAttributes, ReactNode, RefObject } from 'react';
/**
* Specifies Popover position.
*/
export type Side = 'bottom' | 'top';
/**
* Specifies tooltip alignment.
*/
export type Alignment = 'start' | 'center' | 'end';
/**
* Combines side + alignment (e.g., "top-start").
*/
export type Placement = `${Side}-${Alignment}`;
export interface PopoverProps extends Omit, 'content'> {
/**
* The Popover header's title.
*/
title?: string;
/**
* Content of the Popover.
*/
content: ReactNode;
/**
* Defines the side or side-alignment (e.g., "bottom-start", "bottom-center") of the Popover.
*/
placement?: Placement;
/**
* If the Popover can be closed by a button.
*/
dismissible?: boolean;
/**
* Called when the Popover is dismissed.
*/
onDismiss?: () => void;
/**
* Callback when the Popover is fully rendered and positioned.
*/
onEntered?: () => void;
/**
* Close button aria-label.
*/
closeButtonAriaLabel?: string;
/**
* Controls whether the Popover is open.
*/
isOpen: boolean;
/**
* ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
*/
testId?: string;
/**
* Offset value for top position (e.g.: 12).
* @default '8'
*/
offsetTop?: number;
/**
* Offset value for left position (e.g.: 12).
* @default '0'
*/
offsetLeft?: number;
/**
* Reference to the trigger element that opens the Popover.
*/
triggerRef?: RefObject;
/**
* Whether to render the Popover using a React portal.
* @default false
*/
enablePortal?: boolean;
/**
* Props for the wrapper div when using portal.
*/
wrapperProps?: HTMLAttributes;
}
declare const Popover: React.ForwardRefExoticComponent>;
export default Popover;
//# sourceMappingURL=Popover.d.ts.map