import type { Chart } from "./chart.js"; /** Pattern aspects, including the quincunx the default Ptolemaic set omits. */ export declare const PATTERN_ANGLES: Record; /** Default orbs: {@link DEFAULT_ORBS} for the five Ptolemaic aspects, plus a * tight quincunx. Override via {@link PatternOptions.orbs}. */ export declare const PATTERN_ORBS: Record; /** One configuration found in a chart. */ export interface ChartPattern { /** Configuration kind, e.g. `"t_square"` or `"grand_trine"`. */ kind: string; /** Participating body ids, sorted. */ bodies: string[]; /** Focal body for a T-square or yod (the squared / quincunx apex). */ apex?: string; /** Sign for a `stellium_sign`. */ sign?: string; /** House for a `stellium_house`. */ house?: number; /** Worst defining-aspect orb in degrees; `0` for stelliums. */ orb: number; } /** A body's longitude (and house, for stelliums) for {@link detectPatternsIn}. */ export interface PatternBody { lon: number; house?: number | null; } export interface PatternOptions { /** Per-aspect orb overrides (degrees), keyed by aspect name. */ orbs?: Record; /** Body ids to consider; defaults to the aspectable bodies present. */ bodies?: string[]; } /** * The configurations present among a body map. Lower-level form of * {@link detectPatterns}: `bodies` maps a body id to `{ lon, house? }`. */ export declare function detectPatternsIn(bodies: Record, opts?: PatternOptions): ChartPattern[]; /** * The aspect configurations present in a {@link Chart}: T-squares, grand trines, * grand crosses, yods, kites, mystic rectangles, and stelliums by sign and by * house. Bodies outside their fitted range (absent from the chart) are skipped. * * @param chart A {@link Chart} from {@link Engine.chart} / {@link Engine.chartAt}. * @param opts Orb overrides and an optional explicit body set. * @returns The configurations, most-complex first, each a {@link ChartPattern}. * @example * ```ts * const chart = engine.chart(1990, 6, 10, 14, 30, 0, 27.95, -82.46, "placidus"); * detectPatterns(chart); // [{ kind: "mystic_rectangle", bodies: [...], orb: 2.54 }, ...] * ``` */ export declare function detectPatterns(chart: Chart, opts?: PatternOptions): ChartPattern[];