UNPKG

kaabalah

Version:

The de-facto library for any esoteric calculations and tooling

845 lines (838 loc) 28.8 kB
import { AspectName, AspectEdge, AspectSpec, ZodiacPosition, BirthChart } from '../astrology/index.mjs'; import { a6 as NodeId, _ as KaabalahTypes, R as SystemKey } from '../correspondence-model-DWXbAjC-.mjs'; import { T as TreeTopologySphereName } from '../topology-CSSfYL2c.mjs'; /** * Archeometer SVG renderer. */ interface ArcheometerSvgViewBox { minX?: number; minY?: number; width: number; height: number; } interface ArcheometerPoint { x: number; y: number; } interface ArcheometerLine { x1: number; y1: number; x2: number; y2: number; } type ArcheometerRingId = "degreeOuter" | "degreeInner" | "zodiacUtterance" | "planetaryUtterance" | "cosmologicalMusic" | "astralZodiac" | "astralPlanetary" | "chromicRays" | "whiteRays" | "solarCenter"; interface ArcheometerRing { id: ArcheometerRingId; r1: number; r2: number; } type ArcheometerTriangleId = "wordJesus" | "mary" | "ether" | "divineFire"; interface ArcheometerTriangleSpec { id: ArcheometerTriangleId | (string & {}); title: string; phrase: string; apex: "north" | "south" | "east" | "west" | string; vertices: readonly [number, number, number]; fill: string; vertexFills?: readonly [string, string, string]; stroke: string; } interface ArcheometerUtterancePoint { id: string; degree: number; letter: string; number: number | string; color: string; triangleId: ArcheometerTriangleSpec["id"]; gloss?: string; } interface ArcheometerMusicalNote { degree: number; note: string; color?: string; } interface ArcheometerTriangleLabel { degree: number; label: string; number?: number | string; } interface ArcheometerZodiacSign { degree: number; name: string; glyph: string; color?: string; } interface ArcheometerPlanetaryPoint { degree: number; name: string; glyph: string; color?: string; phase?: "diurnal" | "nocturnal" | string; } interface ArcheometerSectorCorrespondence { degree: number; utterance: ArcheometerUtterancePoint; triangleLabel: ArcheometerTriangleLabel; musicalNote: ArcheometerMusicalNote; zodiacSign: ArcheometerZodiacSign; planetaryPoint: ArcheometerPlanetaryPoint; } interface ArcheometerLayerOptions { degreeCrown?: boolean; zodiacUtterance?: boolean; planetaryUtterance?: boolean; cosmologicalMusic?: boolean; astralZodiac?: boolean; astralPlanetary?: boolean; chromicRays?: boolean; whiteRays?: boolean; solarCenter?: boolean; } interface ArcheometerPaletteOverrides { paper?: string; ink?: string; subtleInk?: string; ringStroke?: string; degreeTick?: string; degreeLabel?: string; whiteRay?: string; ringFills?: Partial<Record<ArcheometerRingId, string>>; } type ArcheometerPalette = "color" | ArcheometerPaletteOverrides; interface ResolvedArcheometerPalette { paper: string; ink: string; subtleInk: string; ringStroke: string; degreeTick: string; degreeLabel: string; whiteRay: string; ringFills: Record<ArcheometerRingId, string>; } interface ArcheometerSvgOptions { width?: number | string; height?: number | string; viewBox?: ArcheometerSvgViewBox; background?: string | "transparent"; title?: string; palette?: ArcheometerPalette; padding?: number; /** 0° is north; positive degrees rotate clockwise. */ rotationDegrees?: number; degreeLabelEvery?: number; layers?: ArcheometerLayerOptions; utterance?: readonly ArcheometerUtterancePoint[]; triangles?: readonly ArcheometerTriangleSpec[]; triangleLabels?: readonly ArcheometerTriangleLabel[]; musicalNotes?: readonly ArcheometerMusicalNote[]; zodiacSigns?: readonly ArcheometerZodiacSign[]; planetaryPoints?: readonly ArcheometerPlanetaryPoint[]; } interface ArcheometerRenderModel { viewBox: Required<ArcheometerSvgViewBox>; center: ArcheometerPoint; outerRadius: number; scale: number; rings: Record<ArcheometerRingId, ArcheometerRing>; palette: ResolvedArcheometerPalette; rotationDegrees: number; layers: Required<ArcheometerLayerOptions>; degreeLabelEvery: number; utterance: readonly ArcheometerUtterancePoint[]; triangles: readonly ArcheometerTriangleSpec[]; triangleLabels: readonly ArcheometerTriangleLabel[]; musicalNotes: readonly ArcheometerMusicalNote[]; zodiacSigns: readonly ArcheometerZodiacSign[]; planetaryPoints: readonly ArcheometerPlanetaryPoint[]; } declare const ARCHEOMETER_DEFAULT_VIEWBOX: Required<ArcheometerSvgViewBox>; declare const DEFAULT_ARCHEOMETER_SECTOR_CORRESPONDENCES: readonly ArcheometerSectorCorrespondence[]; declare const DEFAULT_ARCHEOMETER_UTTERANCE: readonly ArcheometerUtterancePoint[]; declare const DEFAULT_ARCHEOMETER_TRIANGLE_LABELS: readonly ArcheometerTriangleLabel[]; declare const DEFAULT_ARCHEOMETER_TRIANGLES: readonly ArcheometerTriangleSpec[]; declare const DEFAULT_ARCHEOMETER_MUSICAL_NOTES: readonly ArcheometerMusicalNote[]; declare const DEFAULT_ARCHEOMETER_ZODIAC: readonly ArcheometerZodiacSign[]; declare const DEFAULT_ARCHEOMETER_PLANETS: readonly ArcheometerPlanetaryPoint[]; declare function getArcheometerRenderModel(options?: ArcheometerSvgOptions): ArcheometerRenderModel; declare const DEFAULT_ARCHETYPE_UTTERANCE: readonly ArcheometerUtterancePoint[]; declare const DEFAULT_ARCHETYPE_TRIANGLES: readonly ArcheometerTriangleSpec[]; declare const DEFAULT_ARCHETYPE_MUSICAL_NOTES: readonly ArcheometerMusicalNote[]; declare const DEFAULT_ARCHETYPE_ZODIAC: readonly ArcheometerZodiacSign[]; declare const DEFAULT_ARCHETYPE_PLANETS: readonly ArcheometerPlanetaryPoint[]; declare function generateArcheometerSvg(options?: ArcheometerSvgOptions): string; type AstroWheelZodiacSign = "Aries" | "Taurus" | "Gemini" | "Cancer" | "Leo" | "Virgo" | "Libra" | "Scorpio" | "Sagittarius" | "Capricorn" | "Aquarius" | "Pisces"; type AstroGlyphPrimitive = { kind: "path"; d: string; } | { kind: "circle"; cx: number; cy: number; r: number; } | { kind: "line"; x1: number; y1: number; x2: number; y2: number; } | { kind: "polyline"; points: string; } | { kind: "text"; text: string; x?: number; y?: number; fontSize?: number; fontWeight?: string | number; } | { kind: "raw"; markup: string; }; type AstroWheelPlanetGlyphKey = "sun" | "moon" | "mercury" | "venus" | "mars" | "jupiter" | "saturn" | "uranus" | "neptune" | "pluto" | "earth" | "chiron" | "lilith" | "north node" | "south node" | "pars fortunae" | "ascendant" | "midheaven" | "descendant" | "nadir" | "vertex" | "retrograde"; type AstroWheelAspectGlyphKey = "conjunction" | "opposition" | "square" | "trine" | "sextile" | "semisquare" | "sesquisquare" | "inconjunct" | "semisextile"; type AstroWheelAngleGlyphKey = "asc" | "mc" | "dsc" | "ic" | "vertex"; type AstroGlyphCategory = "zodiac" | "planet" | "aspect" | "angle"; interface AstroGlyphDefinition { key: string; label: string; category: AstroGlyphCategory; primitives: readonly AstroGlyphPrimitive[]; aliases?: readonly string[]; } declare const ZODIAC_GLYPH_PRIMITIVES: { Aries: { kind: "raw"; markup: string; }[]; Taurus: { kind: "raw"; markup: string; }[]; Gemini: { kind: "raw"; markup: string; }[]; Cancer: { kind: "raw"; markup: string; }[]; Leo: { kind: "raw"; markup: string; }[]; Virgo: { kind: "raw"; markup: string; }[]; Libra: { kind: "raw"; markup: string; }[]; Scorpio: { kind: "raw"; markup: string; }[]; Sagittarius: { kind: "raw"; markup: string; }[]; Capricorn: { kind: "raw"; markup: string; }[]; Aquarius: { kind: "raw"; markup: string; }[]; Pisces: { kind: "raw"; markup: string; }[]; }; declare const PLANET_GLYPH_PRIMITIVES: { sun: readonly AstroGlyphPrimitive[]; moon: readonly AstroGlyphPrimitive[]; mercury: readonly AstroGlyphPrimitive[]; venus: readonly AstroGlyphPrimitive[]; mars: readonly AstroGlyphPrimitive[]; jupiter: readonly AstroGlyphPrimitive[]; saturn: readonly AstroGlyphPrimitive[]; uranus: readonly AstroGlyphPrimitive[]; neptune: readonly AstroGlyphPrimitive[]; pluto: readonly AstroGlyphPrimitive[]; earth: readonly AstroGlyphPrimitive[]; chiron: readonly AstroGlyphPrimitive[]; "north node": readonly AstroGlyphPrimitive[]; "south node": readonly AstroGlyphPrimitive[]; lilith: readonly AstroGlyphPrimitive[]; "pars fortunae": readonly AstroGlyphPrimitive[]; ascendant: readonly AstroGlyphPrimitive[]; midheaven: readonly AstroGlyphPrimitive[]; descendant: readonly AstroGlyphPrimitive[]; nadir: readonly AstroGlyphPrimitive[]; vertex: readonly AstroGlyphPrimitive[]; retrograde: readonly AstroGlyphPrimitive[]; }; declare const ASPECT_GLYPH_PRIMITIVES: { conjunction: readonly AstroGlyphPrimitive[]; opposition: readonly AstroGlyphPrimitive[]; square: readonly AstroGlyphPrimitive[]; trine: readonly AstroGlyphPrimitive[]; sextile: readonly AstroGlyphPrimitive[]; semisquare: readonly AstroGlyphPrimitive[]; sesquisquare: readonly AstroGlyphPrimitive[]; semisextile: readonly AstroGlyphPrimitive[]; inconjunct: readonly AstroGlyphPrimitive[]; }; declare const ANGLE_GLYPH_PRIMITIVES: { asc: readonly AstroGlyphPrimitive[]; mc: readonly AstroGlyphPrimitive[]; dsc: readonly AstroGlyphPrimitive[]; ic: readonly AstroGlyphPrimitive[]; vertex: readonly AstroGlyphPrimitive[]; }; declare const ZODIAC_GLYPHS: Record<AstroWheelZodiacSign, AstroGlyphDefinition>; declare const PLANET_GLYPHS: Record<AstroWheelPlanetGlyphKey, AstroGlyphDefinition>; declare const ASPECT_GLYPHS: Record<AstroWheelAspectGlyphKey, AstroGlyphDefinition>; declare const ANGLE_GLYPHS: Record<AstroWheelAngleGlyphKey, AstroGlyphDefinition>; declare const ASTRO_GLYPHS: Record<string, AstroGlyphDefinition>; declare function getAstroGlyph(key: string): AstroGlyphDefinition | undefined; declare function listAstroGlyphs(category?: AstroGlyphCategory): AstroGlyphDefinition[]; interface AstroWheelViewBox { minX?: number; minY?: number; width: number; height: number; } type AstroWheelElement = "fire" | "earth" | "air" | "water"; interface AstroWheelPaletteOverrides { ringStroke?: string; label?: string; subtle?: string; zodiacStroke?: string; zodiacGlyph?: string; houseLine?: string; houseLabel?: string; angleLine?: string; angleLabel?: string; planetGlyph?: string; planetTick?: string; glyphHalo?: string; aspectGuide?: string; signColors?: Partial<Record<AstroWheelZodiacSign, string>>; elementColors?: Partial<Record<AstroWheelElement, string>>; aspects?: Partial<Record<AspectName | (string & {}), string>>; } type AstroWheelPalette = "default" | "monochrome" | AstroWheelPaletteOverrides; interface AstroWheelAspectOptions { enabled?: boolean; /** * Explicit aspect edges to render. When omitted, the renderer uses * `chart.aspects`; if `aspectSpecs` is supplied it recomputes planet aspects. */ edges?: readonly AspectEdge[]; /** Recompute aspects from chart planets with caller-controlled orbs. */ aspectSpecs?: readonly AspectSpec[]; } interface AstroWheelZodiacOptions { segments?: boolean; glyphs?: boolean; ticks?: boolean; } interface AstroWheelHouseOptions { labels?: boolean; cuspLines?: boolean; angles?: boolean; } type AstroWheelPointConnectorMode = "auto" | "always" | "never"; interface AstroWheelLayoutOptions { rings?: Partial<Record<AstroWheelRing["id"], number>>; pointConnectors?: AstroWheelPointConnectorMode; maxPointDisplacementDegrees?: number; } interface AstroWheelPointOptions { enabled?: boolean; nodes?: boolean; vertex?: boolean; collisionThresholdDegrees?: number; } interface AstroWheelPointSource { key?: string; name: string; longitude: number; kind?: AstroWheelPointKind; glyph?: string; retrograde?: boolean; zodiacPosition?: ZodiacPosition; } interface AstroWheelPointLayerInput { id: string; label?: string; chart?: BirthChart; points?: readonly AstroWheelPointSource[]; color?: string; tickColor?: string; radius?: number | "inner" | "base" | "outer" | "external"; radiusOffset?: number; glyphScale?: number; collisionThresholdDegrees?: number; nodes?: boolean; vertex?: boolean; } interface AstroWheelAspectLayerInput { id: string; label?: string; chart?: BirthChart; edges?: readonly AspectEdge[]; aspectSpecs?: readonly AspectSpec[]; pointLayerId?: string; color?: string; colors?: Partial<Record<AspectName | (string & {}), string>>; radius?: number; radiusScale?: number; strokeWidth?: number; opacityScale?: number; pointLayerIdA?: string; pointLayerIdB?: string; } interface AstroWheelSvgOptions { width?: number | string; height?: number | string; viewBox?: AstroWheelViewBox; background?: string | "transparent"; palette?: AstroWheelPalette; zodiac?: boolean | AstroWheelZodiacOptions; aspects?: boolean | AstroWheelAspectOptions; houses?: boolean | AstroWheelHouseOptions; points?: boolean | AstroWheelPointOptions; pointLayers?: readonly AstroWheelPointLayerInput[]; aspectLayers?: readonly AstroWheelAspectLayerInput[]; excludeBodies?: readonly string[]; padding?: number; title?: string; layout?: AstroWheelLayoutOptions; } interface AstroWheelCoordinate { x: number; y: number; } interface AstroWheelLabelBounds { x: number; y: number; width: number; height: number; } interface AstroWheelLine { x1: number; y1: number; x2: number; y2: number; } interface AstroWheelArcConnector { startAngle: number; endAngle: number; radius: number; path: string; } interface AstroWheelRing { id: "aspects" | "planets" | "zodiac" | "houses"; r1: number; r2: number; } interface AstroWheelZodiacSegment { sign: AstroWheelZodiacSign; glyph: string; element: AstroWheelElement; longitudeStart: number; longitudeEnd: number; angleStart: number; angleEnd: number; path: string; fill: string; labelPosition: AstroWheelCoordinate; labelFontSize: number; } interface AstroWheelHouseCusp { house: number; longitude: number; sign: string; line: AstroWheelLine; labelPosition: AstroWheelCoordinate; labelFontSize: number; } interface AstroWheelAngleMarker { key: "ASC" | "MC" | "DSC" | "IC"; longitude: number; zodiacPosition: ZodiacPosition; line: AstroWheelLine; labelPosition: AstroWheelCoordinate; labelFontSize: number; labelRotation: number; } type AstroWheelPointKind = "planet" | "node" | "vertex"; interface AstroWheelPoint { layerId: string; key: string; name: string; kind: AstroWheelPointKind; glyph: string; glyphKey?: string; longitude: number; displayLongitude: number; zodiacPosition?: ZodiacPosition; tickLine: AstroWheelLine; leaderArc?: AstroWheelArcConnector; leaderLine?: AstroWheelLine; glyphPosition: AstroWheelCoordinate; labelAngle: number; glyphFontSize: number; retrograde?: boolean; color: string; tickColor: string; labelBounds?: AstroWheelLabelBounds; } interface AstroWheelAspectLine { layerId: string; planetA: string; planetB: string; planetAKey: string; planetBKey: string; aspect: AspectName | (string & {}); aspectAngle: number; delta: number; orb: number; color: string; opacity: number; line: AstroWheelLine; strokeWidth: number; } interface AstroWheelPointLayer { id: string; label?: string; color: string; tickColor: string; radius: number; points: readonly AstroWheelPoint[]; } interface AstroWheelAspectLayer { id: string; label?: string; aspectLines: readonly AstroWheelAspectLine[]; } interface AstroWheelRenderModel { viewBox: Required<AstroWheelViewBox>; center: AstroWheelCoordinate; outerRadius: number; scale: number; ascendantLongitude: number; rings: Record<AstroWheelRing["id"], AstroWheelRing>; zodiacSegments: readonly AstroWheelZodiacSegment[]; houseCusps: readonly AstroWheelHouseCusp[]; angleMarkers: readonly AstroWheelAngleMarker[]; points: readonly AstroWheelPoint[]; pointByKey: Record<string, AstroWheelPoint>; aspectLines: readonly AstroWheelAspectLine[]; pointLayers: readonly AstroWheelPointLayer[]; aspectLayers: readonly AstroWheelAspectLayer[]; palette: ResolvedAstroWheelPalette; } interface ResolvedAstroWheelPalette { ringStroke: string; label: string; subtle: string; zodiacStroke: string; zodiacGlyph: string; houseLine: string; houseLabel: string; angleLine: string; angleLabel: string; planetGlyph: string; planetTick: string; glyphHalo: string; aspectGuide: string; signColors: Partial<Record<AstroWheelZodiacSign, string>>; elementColors: Record<AstroWheelElement, string>; aspects: Record<string, string>; } declare const ASTRO_WHEEL_DEFAULT_VIEWBOX: Required<AstroWheelViewBox>; declare const ASTRO_WHEEL_DEFAULT_ASPECT_SPECS: readonly [{ readonly name: "conjunction"; readonly angle: 0; readonly orb: 8; }, { readonly name: "duodecile"; readonly angle: 30; readonly orb: 2; }, { readonly name: "octile"; readonly angle: 45; readonly orb: 3; }, { readonly name: "sextile"; readonly angle: 60; readonly orb: 5; }, { readonly name: "square"; readonly angle: 90; readonly orb: 6; }, { readonly name: "trine"; readonly angle: 120; readonly orb: 7; }, { readonly name: "trioctile"; readonly angle: 135; readonly orb: 3; }, { readonly name: "quincunx"; readonly angle: 150; readonly orb: 3; }, { readonly name: "opposition"; readonly angle: 180; readonly orb: 8; }]; declare const ASTRO_WHEEL_ZODIAC_SIGNS: readonly [{ readonly sign: "Aries"; readonly glyph: "♈"; readonly element: "fire"; }, { readonly sign: "Taurus"; readonly glyph: "♉"; readonly element: "earth"; }, { readonly sign: "Gemini"; readonly glyph: "♊"; readonly element: "air"; }, { readonly sign: "Cancer"; readonly glyph: "♋"; readonly element: "water"; }, { readonly sign: "Leo"; readonly glyph: "♌"; readonly element: "fire"; }, { readonly sign: "Virgo"; readonly glyph: "♍"; readonly element: "earth"; }, { readonly sign: "Libra"; readonly glyph: "♎"; readonly element: "air"; }, { readonly sign: "Scorpio"; readonly glyph: "♏"; readonly element: "water"; }, { readonly sign: "Sagittarius"; readonly glyph: "♐"; readonly element: "fire"; }, { readonly sign: "Capricorn"; readonly glyph: "♑"; readonly element: "earth"; }, { readonly sign: "Aquarius"; readonly glyph: "♒"; readonly element: "air"; }, { readonly sign: "Pisces"; readonly glyph: "♓"; readonly element: "water"; }]; declare const ASTRO_WHEEL_POINT_GLYPHS: Record<string, string>; interface GlyphSvgOptions { size?: number; color?: string; strokeWidth?: number; fill?: "none" | string; background?: string | "transparent"; } declare function generateGlyphSvg(primitives: readonly AstroGlyphPrimitive[], options?: GlyphSvgOptions): string; declare function generateAstroGlyphSvg(keyOrGlyph: string | AstroGlyphDefinition, options?: GlyphSvgOptions): string; declare function getAstroWheelRenderModel(chart: BirthChart, options?: AstroWheelSvgOptions): AstroWheelRenderModel; declare function generateAstroWheelSvg(chart: BirthChart, options?: AstroWheelSvgOptions): string; interface TreeSvgViewBox { minX?: number; minY?: number; width: number; height: number; } interface TreeLayoutCoordinate { x: number; y: number; } type TreeTargetState = "active" | "hovered" | "selected" | "inactive"; type TreeSphereName = TreeTopologySphereName; type TreeSphereId = NodeId<KaabalahTypes.SPHERE>; type TreePathId = NodeId<KaabalahTypes.PATH>; interface TreeLayoutPath { fromId: TreeSphereId; toId: TreeSphereId; from: TreeLayoutCoordinate; to: TreeLayoutCoordinate; } interface TreeLayoutMap { spheres: Record<TreeSphereId, TreeLayoutCoordinate>; paths: Record<TreePathId, TreeLayoutPath>; } interface TreeLayout { system: SystemKey; viewBox: Required<TreeSvgViewBox>; sphereOrder: TreeSphereId[]; pathOrder: TreePathId[]; percentages: TreeLayoutMap; viewBoxUnits: TreeLayoutMap; } interface TreeSvgCustomPalette { defaultSphereFill?: string; defaultPathColor?: string; sphereFills?: Partial<Record<TreeSphereId, string | string[]>>; pathColors?: Partial<Record<TreePathId, string>>; pathEdgeColor?: string; sphereStrokeColor?: string; sphereStrokeWidth?: number; pathHighlightColor?: string; pathHighlightOpacity?: number; specialSphereMode?: "preserve" | "plain"; } type TreeSvgPalette = "color" | "monochrome" | TreeSvgCustomPalette; type TreeSvgDaathLayer = "front" | "back"; interface TreeSvgHighlights { paths?: Partial<Record<TreePathId, string>>; spheres?: Partial<Record<TreeSphereId, string | string[]>>; specialSphereMode?: "preserve" | "plain"; } interface TreeTargetActivationInput { targetId: TreeSphereId | TreePathId; targetType: "sphere" | "path"; count: number; total: number; strength?: number; state?: TreeTargetState; color?: string; } interface TreeRenderAnchor { x: number; y: number; vertical: "above" | "below"; } interface TreeRenderCircleHitTarget { kind: "circle"; cx: number; cy: number; r: number; } interface TreeRenderLineHitTarget { kind: "line"; x1: number; y1: number; x2: number; y2: number; strokeWidth: number; } type TreeRenderHitTarget = TreeRenderCircleHitTarget | TreeRenderLineHitTarget; interface TreeRenderActivationState { state: TreeTargetState; count: number; total: number; strength: number; canonicalColor: string; displayColor: string; colorOverride?: string; mutedColor: string; visible: boolean; emphasis: number; } interface TreeRenderSphereGeometry { percentages: { center: TreeLayoutCoordinate; anchor: TreeRenderAnchor; }; viewBoxUnits: { center: TreeLayoutCoordinate; anchor: TreeRenderAnchor; hitTarget: TreeRenderCircleHitTarget; }; radius: { viewBoxUnits: number; }; } interface TreeRenderPathGeometry { percentages: { from: TreeLayoutCoordinate; to: TreeLayoutCoordinate; anchor: TreeRenderAnchor; }; viewBoxUnits: { from: TreeLayoutCoordinate; to: TreeLayoutCoordinate; anchor: TreeRenderAnchor; hitTarget: TreeRenderLineHitTarget; }; widths: { edge: number; main: number; highlight: number; hitTarget: number; }; } interface TreeRenderSphere { id: TreeSphereId; name: TreeSphereName; slug: string; canonicalColor: string; displayFill: string | string[]; geometry: TreeRenderSphereGeometry; material: { kind: "standard" | "special"; specialSphereName?: Extract<TreeSphereName, "Kether" | "Chokhmah" | "Daath" | "Malkuth">; preserveOnActivation: boolean; }; activation: TreeRenderActivationState | null; } interface TreeRenderPath { id: TreePathId; geometry: TreeRenderPathGeometry; canonicalColor: string; displayColor: string; activation: TreeRenderActivationState | null; } interface TreeRenderLayer { name: "background" | "paths" | "spheres-behind-paths" | "spheres" | "hit-targets"; order: number; description: string; } interface TreeRenderModel { system: SystemKey; viewBox: Required<TreeSvgViewBox>; scale: number; layout: TreeLayout; layerOrder: readonly TreeRenderLayer["name"][]; layers: readonly TreeRenderLayer[]; spheres: readonly TreeRenderSphere[]; paths: readonly TreeRenderPath[]; sphereById: Record<TreeSphereId, TreeRenderSphere>; pathById: Record<TreePathId, TreeRenderPath>; } interface TreeSvgOptions { width?: number | string; height?: number | string; viewBox?: TreeSvgViewBox; background?: string | "transparent"; palette?: TreeSvgPalette; system?: SystemKey; daathLayer?: TreeSvgDaathLayer; highlights?: TreeSvgHighlights; activations?: readonly TreeTargetActivationInput[]; } declare const TREE_SVG_DEFAULT_VIEWBOX: Required<TreeSvgViewBox>; declare const TREE_SPHERE_NAMES: readonly ["Kether", "Chokhmah", "Binah", "Daath", "Chesed", "Geburah", "Tiphareth", "Netzach", "Hod", "Yesod", "Malkuth"]; declare const TREE_SPHERE_IDS: TreeSphereId[]; declare const TREE_PATH_IDS: TreePathId[]; declare function getTreeLayout(system?: SystemKey): TreeLayout; declare function getTreeRenderModel(options?: TreeSvgOptions): TreeRenderModel; declare function generateTreeSvg(options?: TreeSvgOptions): string; export { ANGLE_GLYPHS, ANGLE_GLYPH_PRIMITIVES, ARCHEOMETER_DEFAULT_VIEWBOX, ASPECT_GLYPHS, ASPECT_GLYPH_PRIMITIVES, ASTRO_GLYPHS, ASTRO_WHEEL_DEFAULT_ASPECT_SPECS, ASTRO_WHEEL_DEFAULT_VIEWBOX, ASTRO_WHEEL_POINT_GLYPHS, ASTRO_WHEEL_ZODIAC_SIGNS, type ArcheometerLayerOptions, type ArcheometerLine, type ArcheometerMusicalNote, type ArcheometerPalette, type ArcheometerPaletteOverrides, type ArcheometerPlanetaryPoint, type ArcheometerPoint, type ArcheometerRenderModel, type ArcheometerRing, type ArcheometerRingId, type ArcheometerSectorCorrespondence, type ArcheometerSvgOptions, type ArcheometerSvgViewBox, type ArcheometerTriangleId, type ArcheometerTriangleLabel, type ArcheometerTriangleSpec, type ArcheometerUtterancePoint, type ArcheometerZodiacSign, AspectSpec, type AstroGlyphCategory, type AstroGlyphDefinition, type AstroGlyphPrimitive, type AstroWheelAngleGlyphKey, type AstroWheelAngleMarker, type AstroWheelArcConnector, type AstroWheelAspectGlyphKey, type AstroWheelAspectLayer, type AstroWheelAspectLayerInput, type AstroWheelAspectLine, type AstroWheelAspectOptions, type AstroWheelCoordinate, type AstroWheelElement, type AstroWheelHouseCusp, type AstroWheelHouseOptions, type AstroWheelLabelBounds, type AstroWheelLayoutOptions, type AstroWheelLine, type AstroWheelPalette, type AstroWheelPaletteOverrides, type AstroWheelPlanetGlyphKey, type AstroWheelPoint, type AstroWheelPointConnectorMode, type AstroWheelPointKind, type AstroWheelPointLayer, type AstroWheelPointLayerInput, type AstroWheelPointOptions, type AstroWheelPointSource, type AstroWheelRenderModel, type AstroWheelRing, type AstroWheelSvgOptions, type AstroWheelViewBox, type AstroWheelZodiacOptions, type AstroWheelZodiacSegment, type AstroWheelZodiacSign, DEFAULT_ARCHEOMETER_MUSICAL_NOTES, DEFAULT_ARCHEOMETER_PLANETS, DEFAULT_ARCHEOMETER_SECTOR_CORRESPONDENCES, DEFAULT_ARCHEOMETER_TRIANGLES, DEFAULT_ARCHEOMETER_TRIANGLE_LABELS, DEFAULT_ARCHEOMETER_UTTERANCE, DEFAULT_ARCHEOMETER_ZODIAC, DEFAULT_ARCHETYPE_MUSICAL_NOTES, DEFAULT_ARCHETYPE_PLANETS, DEFAULT_ARCHETYPE_TRIANGLES, DEFAULT_ARCHETYPE_UTTERANCE, DEFAULT_ARCHETYPE_ZODIAC, type GlyphSvgOptions, PLANET_GLYPHS, PLANET_GLYPH_PRIMITIVES, type ResolvedArcheometerPalette, type ResolvedAstroWheelPalette, TREE_PATH_IDS, TREE_SPHERE_IDS, TREE_SPHERE_NAMES, TREE_SVG_DEFAULT_VIEWBOX, type TreeLayout, type TreeLayoutCoordinate, type TreeLayoutMap, type TreeLayoutPath, type TreePathId, type TreeRenderActivationState, type TreeRenderAnchor, type TreeRenderCircleHitTarget, type TreeRenderHitTarget, type TreeRenderLayer, type TreeRenderLineHitTarget, type TreeRenderModel, type TreeRenderPath, type TreeRenderPathGeometry, type TreeRenderSphere, type TreeRenderSphereGeometry, type TreeSphereId, type TreeSphereName, type TreeSvgCustomPalette, type TreeSvgDaathLayer, type TreeSvgHighlights, type TreeSvgOptions, type TreeSvgPalette, type TreeSvgViewBox, type TreeTargetActivationInput, type TreeTargetState, ZODIAC_GLYPHS, ZODIAC_GLYPH_PRIMITIVES, generateArcheometerSvg, generateAstroGlyphSvg, generateAstroWheelSvg, generateGlyphSvg, generateTreeSvg, getArcheometerRenderModel, getAstroGlyph, getAstroWheelRenderModel, getTreeLayout, getTreeRenderModel, listAstroGlyphs };