/** * @file plot-builder.ts * Utilities for building Observable Plot specifications */ import type { ChartState, ChartConfig } from '../types/chart.types'; /** * Build a scatter plot specification */ export declare function buildScatterPlot(state: ChartState, config: ChartConfig): any; /** * Build a line chart specification */ export declare function buildLineChart(state: ChartState, config: ChartConfig): any; /** * Build a bar chart specification */ export declare function buildBarChart(state: ChartState, config: ChartConfig): any; /** * Build an area chart specification */ export declare function buildAreaChart(state: ChartState, config: ChartConfig): any; /** * Build a histogram specification */ export declare function buildHistogram(state: ChartState, config: ChartConfig & { bins?: number; thresholds?: number[]; }): any; /** * Generic plot builder that delegates to specific builders */ export declare function buildPlot(state: ChartState, config: ChartConfig & { type?: 'scatter' | 'line' | 'bar' | 'area' | 'histogram'; }): any; /** * Apply zoom transform to domain * Converts screen-space transform to data-space domain */ export declare function applyZoomToDomain(domain: [number, number], transform: { x: number; y: number; k: number; }, axis: 'x' | 'y'): [number, number]; /** * Calculate domain from data * Returns [min, max] for numeric data or temporal data */ export declare function calculateDomain(data: T[], accessor: string | ((d: T) => number | Date)): [number, number] | [Date, Date] | undefined; //# sourceMappingURL=plot-builder.d.ts.map