import type { AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; import type { WithChildren } from '../../core/types/with-children.js'; import type { basePlacementsType } from '../../overlays/types/placement.js'; /** * Accepted properties for InformationOverlay * @public */ export interface InformationOverlayBaseProps extends AriaLabelingProps, WithChildren, DataTestId, MaskingProps, StylingProps, BehaviorTrackingProps { /** * The preferred placement for the overlay if there is enough space. If the preferred placement is not possible, the overlay will be positioned according to the available space. * @defaultValue 'bottom' */ placement?: basePlacementsType; /** * Controls the color of the styling and the trigger icon. * @defaultValue 'neutral' or a container's color. */ color?: 'neutral' | 'primary' | 'success' | 'warning' | 'critical'; } /** * @public */ export interface InformationOverlayUncontrolledProps { /** * Determines whether the overlay is initially opened in an uncontrolled scenario. * @defaultValue false */ defaultOpen?: boolean; /** * Determines whether the overlay is open in a controlled scenario. */ open?: never; /** * Callback fired when the open attribute changes in a controlled scenario. */ onOpenChange?: never; } /** * @public */ export interface InformationOverlayControlledProps { /** * Determines whether the overlay is initially opened in an uncontrolled scenario. */ defaultOpen?: never; /** * Determines whether the overlay is open in a controlled scenario. */ open: boolean; /** * Callback fired when the open attribute changes in a controlled scenario. */ onOpenChange: (isOpen: boolean) => void; } /** * Accepted properties for InformationOverlay * @public */ export type InformationOverlayProps = InformationOverlayBaseProps & (InformationOverlayUncontrolledProps | InformationOverlayControlledProps); /** * The `InformationOverlay` provides additional information via an overlay, the position of which can be adjusted. * According to the type of information, the `variant` can be set. The trigger consists of an icon and an optional text. * By default, the `variant` is `neutral` and the overlay is positioned on the bottom. * @public */ export declare const InformationOverlay: ((props: InformationOverlayProps & import("react").RefAttributes) => import("react").ReactElement | null) & { Content: { ({ children, id: propId }: import("./Content.js").InformationContentProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; Trigger: (props: import("./Trigger.js").InformationOverlayTriggerProps & import("react").RefAttributes) => import("react").ReactElement | null; Icon: (props: import("./InformationOverlayIcon.js").InformationOverlayIconProps & import("react").RefAttributes) => import("react").ReactElement | null; };