import { AABB } from '../aabb'; import { Collider } from '../collider'; export declare enum IntervalType { X = 0, Y = 1 } export declare enum IntervalPointType { Start = 0, End = 1 } export declare class IntervalPoint { readonly type: IntervalPointType; readonly interval: Interval; constructor(type: IntervalPointType, interval: Interval); get value(): number; } export declare class Interval { readonly id: number; readonly aabb: Readonly; readonly collider: Readonly; readonly type: IntervalType; readonly start: IntervalPoint; readonly end: IntervalPoint; constructor(id: number, aabb: Readonly, collider: Readonly, type: IntervalType); } export declare const intervalPredicate: (a: IntervalPoint, b: IntervalPoint) => number; export declare class AABBIntervalKeeper { readonly type: IntervalType; readonly intersected: Map; private readonly aabbInterval; private readonly queue; private readonly active; constructor(type: IntervalType); registerAABB(collider: Readonly): void; unregisterAABB(collider: Readonly): void; update(): void; }