import { Direction } from 'generate-maze-ts'; export interface Point { x: number; y: number; } export interface RelativePoint { rx: number; ry: number; } export interface Delta { dx: number; dy: number; } export declare enum Result { Success = "Success", Fault = "Fault", Unknown = "Unknown" } export interface Sizable { width: number; height: number; } export interface Borders { top: number; right: number; bottom: number; left: number; } export interface Range { from: number; to: number; step?: number; } export declare function directionToDelta(dir: Direction): Delta; export declare function pointWithDirection(p: Point, d: Direction): Point; export declare function pointWithDirection(p: RelativePoint, d: Direction): RelativePoint; export declare function pointWithDelta(p: Point | RelativePoint, { dx, dy }: Delta, deltaMultiplier?: number): Point; export declare function rp2p({ rx, ry }: RelativePoint): Point; export declare function p2rp({ x, y }: Point): RelativePoint; export declare function d2p({ dx, dy }: Delta): Point; export declare function p2d({ x, y }: Point): Delta; export declare function d2d({ dx, dy }: Delta, multiplier: number): Delta; export declare function isRelativePoint(point: Point | RelativePoint): point is RelativePoint; export declare function arr2dWidth(arr: any[][]): number; export declare function arr2dHeight(arr: any[][]): number; export declare function pointInBorders(point: Point | RelativePoint, borders: Borders, includeBorders?: boolean): boolean; export declare function sumDeltas(d1: Delta, d2: Delta): Delta; export declare function sumPoints(p1: Point | RelativePoint, p2: Point): Point; export declare function sumPoints(p1: Point, p2: Point | RelativePoint): Point; export declare function sumPoints(p1: RelativePoint, p2: RelativePoint): RelativePoint; export declare function randomPoint(xRange: Range | Required, yRange: Range | Required): Point; export declare function random(min: number, max: number, inc?: number): number; export declare function randomInRange(range: Required): number; export declare function simpleRange(to: number): Required; export declare function detRange({ from, step, to }: Range | Required): Required; export declare function equal(point1: Point | RelativePoint, point2: Point | RelativePoint): boolean;