/** * Floating point precision utilities for astrological calculations */ export declare const DEFAULT_EPSILON = 0.0001; /** * Compares two floating-point numbers with epsilon tolerance * @param a First number * @param b Second number * @param epsilon Tolerance value (default: DEFAULT_EPSILON) * @returns True if numbers are equal within tolerance */ export declare function floatEquals(a: number, b: number, epsilon?: number): boolean; /** * Checks if a number is close to zero within epsilon tolerance * @param value The number to check * @param epsilon Tolerance value (default: DEFAULT_EPSILON) * @returns True if number is close to zero */ export declare function isNearZero(value: number, epsilon?: number): boolean; /** * Rounds a degree value to a reasonable precision (4 decimal places) * This prevents accumulation of floating-point errors in calculations * @param degrees The degree value to round * @returns Rounded degree value */ export declare function roundDegrees(degrees: number): number; /** * Compares two degree values with appropriate epsilon for astrological calculations * @param deg1 First degree value * @param deg2 Second degree value * @param epsilon Tolerance in degrees (default: 0.0001°) * @returns True if degrees are equal within tolerance */ export declare function degreeEquals(deg1: number, deg2: number, epsilon?: number): boolean; /** * Checks if a planet is exactly on a house cusp within floating-point precision * @param planetDegree Planet's degree position * @param cuspDegree House cusp degree * @param epsilon Tolerance in degrees (default: 0.001° = about 3.6 arc-seconds) * @returns True if planet is on the cusp within tolerance */ export declare function isOnCusp(planetDegree: number, cuspDegree: number, epsilon?: number): boolean; /** * Checks if an aspect is exact within floating-point precision * @param actualOrb The actual orb of the aspect * @param epsilon Tolerance in degrees (default: 0.1° = 6 arc-minutes) * @returns True if aspect is exact within tolerance */ export declare function isExactAspect(actualOrb: number, epsilon?: number): boolean;