import { Class } from 'everyday-types'; import { Rect } from './rect'; import { Shape, ShapeLike } from './shape'; export declare class Point extends Shape { static fromElement(el: HTMLElement): Point; static fromObject(obj: ShapeLike): Point; static fromMatrix(matrix: DOMMatrix): Point; static fromAngle(radians: number): Point; static fromAngleDegrees(degrees: number): Point; static compare(a: Point | void, b: Point): boolean; x: number; y: number; constructor(obj: ShapeLike); constructor(x?: number, y?: number); [Symbol.iterator](): IterableIterator; toString(): string; set(other: Point): this; draw(this: this, color?: string, position?: string): HTMLDivElement; get pos(): Point; get position(): Point; get size(): Point; get width(): number; set width(x: number); get height(): number; set height(y: number); interpolate(this: this, other: Point, t: number): this; interpolateSelf(this: this, other: Point, t: number): this; diff(this: this, other: Point): this; diffSelf(this: this, other: Point): this; abs(this: this): this; absSelf(this: this): this; square(this: this): this; squareSelf(this: this): this; sum(this: this): number; manhattan(this: this, other: Point): number; octile(this: this, other: Point): number; /** Returns the maximum of its values. */ max(this: this): number; /** Returns the minumum of its values. */ min(this: this): number; clampSelf(this: this, min: number, max: number): this; clampMinSelf(this: this, min: number): this; chebyshev(this: this, other: Point): number; euclidean(this: this, other: Point): number; distance(this: this, other: Point): number; mag(this: this): number; length(this: this): number; unit(this: this): this; dot(this: this, other: Point): number; normal(this: this): Point; angleTo(this: this, other: Point): number; round(this: this): this; roundSelf(this: this): this; precisionRound(this: this, p?: number): this; precisionRoundSelf(this: this, p?: number): this; gridRound(this: this, p?: number): this; gridRoundSelf(this: this, p?: number): this; absoluteSum(this: this): number; absSum: this['absoluteSum']; withinRect(this: this, other: Rect): boolean; transform(this: this, matrix: DOMMatrix): this; transformSelf(this: this, matrix: DOMMatrix): this; multiply(this: this, x: Shape): InstanceType>; multiply(this: this, x: number, y?: number): InstanceType>; multiplySelf(this: this, x: Shape): InstanceType>; multiplySelf(this: this, x: number, y?: number): InstanceType>; normalize(this: this, other: DOMMatrix): InstanceType>; normalize(this: this, other: Point): InstanceType>; normalize(this: this, other: Rect): InstanceType>; normalize(this: this, x: number, y?: number): InstanceType>; normalize(this: this): InstanceType>; normalizeSelf(this: this, other: DOMMatrix): InstanceType>; normalizeSelf(this: this, other: Point): InstanceType>; normalizeSelf(this: this, other: Rect): InstanceType>; normalizeSelf(this: this, x: number, y?: number): InstanceType>; normalizeSelf(this: this): InstanceType>; equals(this: this, other: Point): boolean; equalsAny(this: this, other: Point): boolean; }