/** * bi-wheel-app.ts — MCP App tool registration for the Bi-Wheel Explorer. * * Registers 6 tools: * • explore_bi_wheel — primary entry point [model + app] * • bi_wheel_recalculate — re-fetch with new params [app-only] * • bi_wheel_on_cross_aspect_click — cross-aspect click handler [app-only] * • bi_wheel_on_planet_click — planet click handler [app-only] * • bi_wheel_on_house_click — house cusp click handler [app-only] * • bi_wheel_synopsis — full reading overview [model + app] * * Supported modes (BiWheelMode): * synastry — two natal charts (person1 inner, person2 outer) * transit — natal inner + transiting planets outer * progressed — natal inner + secondary progressions outer (POST /ephemeris/progressed) * solar_return — natal inner + solar return chart outer (POST /predictive/returns/solar) * lunar_return — natal inner + lunar return chart outer (POST /predictive/returns/lunar) * solar_arc — natal inner + solar arc directions outer (client-side Naibod approximation) * * Cross-aspects are computed client-side (UI) AND server-side (for summary/fallback). * The payload cross_aspects array is capped at 30 tightest-orb aspects. */ export declare const BI_WHEEL_RESOURCE_URI = "ui://openephemeris/bi-wheel"; export declare const BI_WHEEL_MIME_TYPE = "text/html;profile=mcp-app"; /** Read the pre-built HTML bundle. Returns null if not yet built. */ export declare function getBiWheelBundle(): string | null; export declare function clearBiWheelBundleCache(): void; export type BiWheelMode = "synastry" | "transit" | "progressed" | "solar_return" | "lunar_return" | "solar_arc"; interface PlanetPoint { name: string; longitude: number; speed?: number; } interface CrossAspect { planet1: string; wheel1: "inner" | "outer"; planet2: string; wheel2: "inner" | "outer"; type: string; angle: number; orb: number; applying: boolean; } export declare function computeCrossAspects(planets1: PlanetPoint[], planets2: PlanetPoint[]): CrossAspect[]; export {};