| import { MatrixArray } from './matrix'; | 
| export interface PointLike { | 
|     x: number; | 
|     y: number; | 
| } | 
| export default class Point { | 
|     x: number; | 
|     y: number; | 
|     constructor(x?: number, y?: number); | 
|     copy(other: PointLike): this; | 
|     clone(): Point; | 
|     set(x: number, y: number): this; | 
|     equal(other: PointLike): boolean; | 
|     add(other: PointLike): this; | 
|     scale(scalar: number): void; | 
|     scaleAndAdd(other: PointLike, scalar: number): void; | 
|     sub(other: PointLike): this; | 
|     dot(other: PointLike): number; | 
|     len(): number; | 
|     lenSquare(): number; | 
|     normalize(): this; | 
|     distance(other: PointLike): number; | 
|     distanceSquare(other: Point): number; | 
|     negate(): this; | 
|     transform(m: MatrixArray): this; | 
|     toArray(out: number[]): number[]; | 
|     fromArray(input: number[]): void; | 
|     static set(p: PointLike, x: number, y: number): void; | 
|     static copy(p: PointLike, p2: PointLike): void; | 
|     static len(p: PointLike): number; | 
|     static lenSquare(p: PointLike): number; | 
|     static dot(p0: PointLike, p1: PointLike): number; | 
|     static add(out: PointLike, p0: PointLike, p1: PointLike): void; | 
|     static sub(out: PointLike, p0: PointLike, p1: PointLike): void; | 
|     static scale(out: PointLike, p0: PointLike, scalar: number): void; | 
|     static scaleAndAdd(out: PointLike, p0: PointLike, p1: PointLike, scalar: number): void; | 
|     static lerp(out: PointLike, p0: PointLike, p1: PointLike, t: number): void; | 
| } |