/** Public detent: a fraction of 100dvh; 1 = full height. */ export type SheetDetent = number; /** Internal detent: a fraction, or the measured content height. */ export type InternalDetent = SheetDetent | 'content'; export interface ResolveDetentArgs { positionPx: number; velocityPxMs: number; detentsPx: number[]; viewportPx: number; } export type DetentResolution = { index: number; } | { close: true; }; export declare function resolveDetent({ positionPx, velocityPxMs, detentsPx }: ResolveDetentArgs): DetentResolution; export interface UseSheetDetentsArgs { detents?: InternalDetent[] | undefined; detent?: number | undefined; defaultDetent?: number | undefined; onDetentChange?: ((index: number) => void) | undefined; /** Live viewport block size for resolving fractions. */ viewportPx?: number | undefined; /** Measured content block size for the 'content' detent. */ contentPx?: number | undefined; } export interface SheetDetentsHandle { index: number; setIndex: (i: number) => void; /** Resolved detent heights in px, ascending; 'content' uses contentPx. */ heightsPx: number[]; /** Top-edge offsets of each detent for resolveDetent (viewport - height). */ topsPx: number[]; /** True when the active detent is 1 (full height). */ isFull: boolean; } export declare function useSheetDetents({ detents, detent, defaultDetent, onDetentChange, viewportPx, contentPx, }: UseSheetDetentsArgs): SheetDetentsHandle; //# sourceMappingURL=useSheetDetents.d.ts.map