/** * Quadrant Chart Wrapper Class * * A unified API for building, mutating, and querying quadrant charts. * Provides a fluent interface that wraps the QuadrantAST. */ import { DiagramWrapper } from './diagram-wrapper.js'; import type { QuadrantAST, QuadrantClass, QuadrantPoint } from './types/quadrant.js'; import type { RenderOptions } from './types/render-options.js'; /** * Options for adding a point */ export interface AddQuadrantPointOptions { /** Optional CSS class for styling */ className?: string; /** Optional inline styles */ styles?: string[]; } /** * Query options for finding points */ export interface FindQuadrantPointsQuery { /** Find points whose name contains this string */ nameContains?: string; /** Find points with x >= this value */ minX?: number; /** Find points with x <= this value */ maxX?: number; /** Find points with y >= this value */ minY?: number; /** Find points with y <= this value */ maxY?: number; /** Find points with this class */ className?: string; } /** * A fluent wrapper for QuadrantAST that supports building, mutating, and querying. */ export declare class Quadrant extends DiagramWrapper { private constructor(); /** * Create a new empty quadrant chart */ static create(title?: string): Quadrant; /** * Create a Quadrant wrapper from an existing AST */ static from(ast: QuadrantAST): Quadrant; /** * Parse Mermaid syntax and create a Quadrant wrapper */ static parse(text: string): Quadrant; /** * Render to Mermaid syntax */ render(options?: RenderOptions): string; /** * Create a deep clone of this quadrant chart */ clone(): Quadrant; /** * Get diagram title */ get title(): string | undefined; /** * Get all points */ get points(): QuadrantPoint[]; /** * Get point count */ get pointCount(): number; /** * Set diagram title */ setTitle(title: string): this; /** * Set X-axis labels */ setXAxis(left: string, right: string): this; /** * Set Y-axis labels */ setYAxis(bottom: string, top: string): this; /** * Set quadrant labels */ setQuadrantLabels(q1?: string, q2?: string, q3?: string, q4?: string): this; /** * Add a data point */ addPoint(name: string, x: number, y: number, options?: AddQuadrantPointOptions): this; /** * Get a point by name */ getPoint(name: string): QuadrantPoint | undefined; /** * Remove a point */ removePoint(name: string): this; /** * Update point coordinates */ updatePoint(name: string, x?: number, y?: number): this; /** * Add a CSS class definition */ addClass(name: string, styles: string[]): this; /** * Get a class definition */ getClass(name: string): QuadrantClass | undefined; /** * Find points matching a query */ findPoints(query: FindQuadrantPointsQuery): QuadrantPoint[]; /** * Get points in a specific quadrant (1-4) */ getPointsInQuadrant(quadrant: 1 | 2 | 3 | 4): QuadrantPoint[]; } //# sourceMappingURL=quadrant.d.ts.map