
import React from "react";

//#region src/components/client/BottomSheet/useExpansionMargins.d.ts
interface UseExpansionMarginsParams {
  sheetRef: React.RefObject<HTMLElement | null>;
  maxSnapPxRef: React.RefObject<number>;
  fullWidthAtMaxSnap: boolean;
  snapPointsLength: number;
  isOpen: boolean;
  /** When true, forces all margins to 0 (e.g. virtual keyboard visible). */
  forceZeroRef: React.RefObject<boolean>;
}
/**
 * Manages the `fullWidthAtMaxSnap` feature: animates configured CSS margins to 0
 * as the sheet expands from the second-to-last snap point to the max snap point.
 *
 * Returns a stable `applyExpansionMargins` callback (safe for `useCallback([], [])`)
 * and a `thresholdRef` that the caller must set during render after the snap model
 * resolves pixel snap points
 */
declare function useExpansionMargins({
  sheetRef,
  maxSnapPxRef,
  fullWidthAtMaxSnap,
  snapPointsLength,
  isOpen,
  forceZeroRef
}: UseExpansionMarginsParams): {
  applyExpansionMargins: (el: HTMLElement, currentTranslatePx: number) => void;
  thresholdRef: React.RefObject<number | null>;
};
//#endregion
export { useExpansionMargins };