import { BaseMetaNode } from '../../layout/types';
import { Doc } from '../../view/Doc';
import { Side } from '../types/cursor';
/**
 * 返回 childMeta 的水平区间数组 [[left, right], ...]
 */
export declare function toHorizontalIntervals(childMeta: (BaseMetaNode | null | undefined)[]): Array<[number, number]>;
/**
 * 返回 childMeta 的垂直区间（绝对 canvas Y，使用 layoutMapper）
 */
export declare function toVerticalIntervalsAbs(doc: Doc, childMeta: (BaseMetaNode | null | undefined)[], pageId: string): Array<[number, number]>;
/**
 * 在若干区间中查找 actualX 属于哪个区间
 * 返回 index 或 -1（未命中）
 */
export declare function findIntervalIndex(intervals: number[][], actualX: number): number;
/**
 * 判断在多个区间中属于哪个区间，并返回侧（before/after）与距离
 * 如果未命中返回最近区间信息
 */
export declare function getIntervalSide(intervals: number[][], actualX: number): {
    index: number;
    side: Side;
    distance: number;
} | null;
