import { mat3, vec2 } from 'gl-matrix'; export declare function inside(point: [number, number], vs: [number, number][]): boolean; export declare function bisect(norm: vec2, norm2: vec2, dy: number): vec2; export declare const randomInteger: () => number; export declare function decompose(mat: mat3): { translation: number[]; scale: number[]; rotation: number; }; export declare function snapToGrid(value: number, gridSize: number): number; type InclusiveRange = [number, number]; /** * Given two ranges, return if the two ranges overlap with each other e.g. * [1, 3] overlaps with [2, 4] while [1, 3] does not overlap with [4, 5]. * * @param param0 One of the ranges to compare * @param param1 The other range to compare against * @returns TRUE if the ranges overlap */ export declare const rangesOverlap: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => boolean; /** * Given two ranges,return ther intersection of the two ranges if any e.g. the * intersection of [1, 3] and [2, 4] is [2, 3]. * * @param param0 The first range to compare * @param param1 The second range to compare * @returns The inclusive range intersection or NULL if no intersection */ export declare const rangeIntersection: ([a0, a1]: InclusiveRange, [b0, b1]: InclusiveRange) => InclusiveRange | null; export declare function toDomPrecision(v: number): number; export {};