///
import { immerable } from 'immer';
import * as t from 'io-ts';
import { Vector } from './vector';
export declare const AngleLike: t.TypeC<{
angle: t.NumberC;
}>;
export declare const AngleType: t.Type;
export declare type AngleLike = t.TypeOf;
export declare class Angle implements AngleLike {
[immerable]: boolean;
readonly angle: number;
constructor(angle: number);
static fromAngleLike(angleLike: AngleLike): Angle;
private static mod;
add(other: Angle | number): Angle;
subtract(other: Angle | number): Angle;
static minus(a: AngleLike, b: AngleLike): Angle;
distanceTo(other: Angle): Angle;
getUnitVector(): Vector;
}