export interface Add { add(...addend: In): Out; } export interface Sub { sub(...subtrahend: In): Out; } export interface Mul { mul(...multiplicand: In): Out; } export interface Div { div(...divisor: In): Out; } export interface Pow { pow(...exponent: In): Out; } export interface Mod { mod(...modulus: In): Out; } export interface Trig { sin(): Out; cos(): Out; tan(): Out; } export interface Abs { abs(): Out; } export interface Eq { eq(...other: Other): boolean; } export interface Gt { gt(...other: Other): boolean; } export interface Gte { gte(...other: Other): boolean; } export interface Lt { lt(...other: Other): boolean; } export interface Lte { lte(...other: Other): boolean; } export declare abstract class Bounded { abstract get value(): number; abstract get min(): number; abstract get max(): number; } export type BoundedOptions = { max: number; min?: number; };