import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type PopoverSkin } from "./popover.styles.js"; export interface PopoverProps { /** Label for the trigger button. */ trigger?: string; /** Heading shown at the top of the floating card. */ title?: string; /** Supporting line beneath the title. */ description?: string; /** Custom panel content (an input, a form row, any node), rendered in the card body between the description and the action row. Composes with the data-driven props. */ children?: ReactNode; /** When set, renders a primary action button at the bottom of the card. */ actionLabel?: string; top?: boolean; bottom?: boolean; /** * Static mode: render the card on its own with no trigger button (an * always-visible inline panel). When set, the card is always shown and * `open` is ignored. */ inline?: boolean; /** Controlled open state. Omit for uncontrolled (the trigger toggles it). */ open?: boolean; /** Fired when the open state changes. */ onOpenChange?: (open: boolean) => void; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } /** Build a Popover component from a platform skin. */ export declare function createPopover(skin: PopoverSkin): (props: PopoverProps) => import("react").JSX.Element; //# sourceMappingURL=popover.shared.d.ts.map