import { Aspect, PlanetCategory, OrbConfiguration, Point } from '../types'; /** * Chart context for orb resolution */ export interface OrbResolutionContext { chartType?: 'natal' | 'synastry' | 'transit' | 'composite'; planetA: Point | string; planetB: Point | string; aspect: Aspect; } /** * Resolves orbs using hierarchical rules with caching for performance */ export declare class OrbResolver { private orbCache; private orbConfiguration; private planetMapping; constructor(orbConfiguration?: OrbConfiguration); /** * Resolves the appropriate orb for a given context */ resolveOrb(context: OrbResolutionContext): number; /** * Clears the orb cache (useful when configuration changes) */ clearCache(): void; /** * Gets the planet category for a given planet name */ getPlanetCategory(planetName: string): PlanetCategory | undefined; private calculateOrb; private getBaseOrb; private getPlanetSpecificOrb; private applyClassificationMultipliers; private applyContextualMultipliers; private applyConstraints; private generateCacheKey; }