/** * Positioner props promoted to flat props on every floating *Content. * Mirrors Base UI's `UseAnchorPositioningSharedParameters` (v1.5.0). */ export declare const FLOATING_POSITIONER_KEYS: readonly ["side", "sideOffset", "align", "alignOffset", "anchor", "positionMethod", "collisionBoundary", "collisionPadding", "collisionAvoidance", "sticky", "arrowPadding", "disableAnchorTracking"]; /** Portal props promoted to flat props on every floating *Content. */ export declare const FLOATING_PORTAL_KEYS: readonly ["container", "keepMounted"]; type PositionerKey = (typeof FLOATING_POSITIONER_KEYS)[number]; type PortalKey = (typeof FLOATING_PORTAL_KEYS)[number]; /** * Flat positioning/portal props + typed escape hatches, derived from a * component's own Positioner and Portal prop types so each *Content stays in * lockstep with Base UI. Intersect with the Popup props to build a *Content * prop type: * * ```ts * type PopoverContentProps = React.ComponentProps & * FloatingContentProps< * React.ComponentProps, * React.ComponentProps * > & { arrow?: boolean } * ``` */ export type FloatingContentProps = Pick> & Pick> & { /** Escape hatch: extra props forwarded to the Base UI Positioner (e.g. `style`, `render`). */ positionerProps?: Omit; /** Escape hatch: extra props forwarded to the Base UI Portal (e.g. `style`, `render`). */ portalProps?: Omit; }; export interface SplitFloatingProps { positioner: Record; portal: Record; popup: Record; } /** * Partition a *Content component's spread props into its three Base UI targets. * * - Flat positioning/portal props win over the same keys inside * `positionerProps`/`portalProps` (the flat prop is the documented primary API). * - Anything left that isn't a known Positioner/Portal prop is treated as a Popup prop. * * Destructure `className`/`children` (and any component-specific props) out of the * props object before calling this - they should not reach the generic Popup spread. */ export declare function splitFloatingProps(props: Record): SplitFloatingProps; export {}; //# sourceMappingURL=floating.d.ts.map