import { ShowtimeBottomSheetSnapPoint, ShowtimeBottomSheetSnapPoints, ShowtimeBottomSheetScrollState, ShowtimeSheetSnap } from './ShowtimeBottomSheet.types'; /** * 统一按从低到高的视觉顺序排序,便于后续 clamp 和最近点查找。 */ export declare function sortSnapPoints(snapPoints: ShowtimeBottomSheetSnapPoint[]): ShowtimeBottomSheetSnapPoint[]; /** * 补齐外部传入的 snapPoints,保证内部始终拿到完整的数组结构。 */ export declare function normalizeSnapPoints(snapPoints?: ShowtimeBottomSheetSnapPoints): ShowtimeBottomSheetSnapPoint[]; /** * 按 key 查找吸附点,给组件层统一做外部 snap 到内部位置的映射。 */ export declare function findSnapPointByKey(snapPoints: ShowtimeBottomSheetSnapPoint[], key: ShowtimeSheetSnap): ShowtimeBottomSheetSnapPoint | undefined; /** * 根据当前位置找到最近的吸附点。 */ export declare function findNearestSnapPoint(y: number, snapPoints: ShowtimeBottomSheetSnapPoint[]): ShowtimeBottomSheetSnapPoint; /** * 将视觉位置限制在最低和最高吸附点之间。 */ export declare function clampVisualY(y: number, snapPoints: ShowtimeBottomSheetSnapPoint[]): number; /** * 根据当前基准位置和位移,推导松手时的投影位置。 */ export declare function resolveProjectedPosition(input: { basePosition: number; offsetPx: number; viewportHeight: number; snapPoints: ShowtimeBottomSheetSnapPoint[]; }): number; /** * 读取内容区是否已经滚动到顶/到底。 * 非滚动容器也会返回明确状态,避免外部重复写空值判断。 */ export declare function readContentScrollState(element?: HTMLElement | null): ShowtimeBottomSheetScrollState; export declare function resolveScrollableContentElement(element?: HTMLElement | null, boundary?: HTMLElement | null): HTMLElement | null; /** * Motion 使用字符串 `vh` 值,这里统一做保留两位的小数格式化。 */ export declare function formatVh(value: number): string;