import { type CSSProperties } from "react"; /** Whether the newest in-thread consent presents as the bottom sheet (1-H): * mobile width AND enough viewport height for the sheet to slide over the * page without burying it. False falls back to the in-list ApprovalCard. */ export declare function useApprovalSheetPresentation(): boolean; export interface MobileTakeover { /** True below the mobile breakpoint — append `fl-takeover` to the surface. */ active: boolean; /** Pixels of visual viewport the virtual keyboard covers (0 when closed). */ keyboardInset: number; /** Spread onto the takeover surface: carries `--fl-kb-inset` so the * stylesheet can lift the composer above the virtual keyboard. Undefined * when the takeover is inactive, leaving desktop styles untouched. */ style: CSSProperties | undefined; } /** * Mobile takeover driver (ENG-228): the chrome surfaces (overlay panel, page, * palette) go full-bleed below 768px — the designed `.fl-takeover` mode. The * hook tracks the breakpoint via matchMedia and, while active, follows * `window.visualViewport` so the on-screen keyboard's height is published as * a `--fl-kb-inset` CSS variable on the surface. Environments without * matchMedia or visualViewport (SSR, jsdom, old WebViews) degrade to the * desktop presentation. */ export declare function useMobileTakeover(): MobileTakeover;