import { type DataTestId, type MaskingProps, type WithChildren, type AriaLabelingProps } from '@dynatrace/strato-components/core'; import { type InformationContentProps } from './Content.js'; import { type InformationOverlayTriggerProps } from './Trigger.js'; import { basePlacementsType } from '../types/placement.js'; /** * Accepted properties for InformationOverlay * @public */ export interface InformationOverlayBaseProps extends AriaLabelingProps, WithChildren, DataTestId, MaskingProps { /** * 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 or not the overlay is initially opened in an uncontrolled scenario. * @defaultValue false */ defaultOpen?: boolean; /** * Determines whether or not 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 or not the overlay is initially opened in an uncontrolled scenario. */ defaultOpen?: never; /** * Determines whether or not 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) => React.ReactElement | null) & { Content: { ({ children, id: propId }: InformationContentProps): import("react/jsx-runtime.js").JSX.Element; displayName: string; }; Trigger: (props: InformationOverlayTriggerProps & import("react").RefAttributes) => React.ReactElement | null; Icon: (props: import("./InformationOverlayIcon.js").InformationOverlayIconProps & import("react").RefAttributes) => React.ReactElement | null; };