import { CSSProperties, RefObject } from 'react'; export type ThreadPopupPlacement = "down" | "up"; /** Opens a row's comment popup below its anchor, flipping above only when it fits there but not below. */ export declare const useThreadPopupPlacement: (anchorRef: RefObject | undefined, isOpen: boolean) => ThreadPopupPlacement; export declare const getPlacementOverrideStyle: (placement: ThreadPopupPlacement) => CSSProperties; /** * Fixed-position style for a row popup that is portaled out of its table. * * Anchoring inside the row means the popup is part of the table's layout, so on * a short table it overflows and makes the table scroll. Rendered to the body * instead, it overlays the page and the table keeps its own size — but it then * needs viewport coordinates, and the space that decides up vs down is the * viewport rather than the table. * * Returns undefined until measured, so callers can hold the popup back for a * frame instead of flashing it at the top-left corner. */ export declare const useFixedThreadPopupStyle: (anchorRef: RefObject, isOpen: boolean) => CSSProperties | undefined;