import type { IBoundsLike } from '../../data-structure'; import type { vec2 } from '../../math'; import type { Point } from './interface'; export declare function isIntersect(left1: vec2, right1: vec2, left2: vec2, right2: vec2): boolean; export declare function getIntersectPoint(left1: vec2, right1: vec2, left2: vec2, right2: vec2): boolean | vec2; export declare function getRectIntersect(bbox1: IBoundsLike | null, bbox2: IBoundsLike | null, format: boolean): IBoundsLike | null; export declare enum InnerBBox { NONE = 0, BBOX1 = 1, BBOX2 = 2 } export declare function rectInsideAnotherRect(bbox1: IBoundsLike | null, bbox2: IBoundsLike | null, format: boolean): InnerBBox; export declare function isRectIntersect(bbox1: IBoundsLike | null, bbox2: IBoundsLike | null, format: boolean): boolean; export declare function pointInRect(point: { x: number; y: number; }, bbox: IBoundsLike | null, format: boolean): boolean; export declare function rotatePoint({ x, y }: Point, rad: number, origin?: { x: number; y: number; }): { x: number; y: number; }; interface RotateBound extends IBoundsLike { angle: number; rotateCenter?: { x: number; y: number; }; } export declare function isRotateAABBIntersect(box1: RotateBound, box2: RotateBound, isDeg?: boolean): boolean; export {};