export type ScrollIntoViewPosition = 'start' | 'center' | 'end' | 'nearest';
export interface ScrollIntoViewValueOptions {
    position?: ScrollIntoViewPosition;
    startOffset?: number;
    endOffset?: number;
}
export interface ScrollIntoViewOptions {
    position?: ScrollIntoViewPosition;
    startOffset?: number;
    endOffset?: number;
    duration?: number;
}
/**
```
                      page
                     ╱
    ╭───────────────╮    viewport
  ╭─│─ ─ ─ ─ ─ ─ ─ ─│─╮ ╱
  │ │ ╭───────────╮ │ │
  │ │ │  element  │ │ │
  │ │ ╰───────────╯ │ │
  ╰─│─ ─ ─ ─ ─ ─ ─ ─│─╯
    │               │
    │               │
    ╰───────────────╯
```

# 参数
- viewportHeight: viewport 高度
- viewportScrollTop: viewport 垂直滚动值
- elementHeight: element 高度
- elementOffsetTop: element 距离页面顶部距离

# 选项
- position: element 在视窗中的位置(start, center, end, nearest)
- startOffset: element 距离视窗顶部的偏移量
- endOffset: element 距离视窗底部的偏移量

# 结果值
- viewportScrollTop: viewport 新的垂直滚动值

*/
export declare function getScrollIntoViewValue(viewportHeight: number, viewportScrollTop: number, elementHeight: number, elementOffsetTop: number, options?: ScrollIntoViewValueOptions): number;
export interface NodeRect {
    top: number;
    right: number;
    bottom: number;
    left: number;
    height: number;
    width: number;
}
interface MatchScrollVisibleOptions {
    offset?: number;
    errorValue?: number;
}
/**
 * @description: 匹配元素列表中第一个位于滚动盒子可视区域的元素
 */
export declare function matchScrollVisible(rects: NodeRect[], callback: (index: number) => unknown, options?: MatchScrollVisibleOptions): Promise<unknown>;
export declare function getAspectFillSize(origWidth: number, origHeight: number, containerWidth: number, containerHeight: number): [number, number];
export declare function getAspectFitSize(origWidth: number, origHeight: number, containerWidth: number, containerHeight: number): [number, number];
interface Point {
    x: number;
    y: number;
}
export declare function getTwoPointsDistance(p1: Point, p2: Point): number;
export {};
