import type { AreaStyleConfig, AnnotationConfig, AxisConfig, CandlestickItemStyleConfig, CandlestickSeriesConfig, CandlestickStyle, ChartGPUOptions, GridConfig, LineStyleConfig, AreaSeriesConfig, BarSeriesConfig, LineSeriesConfig, PieDataItem, PieSeriesConfig, ScatterSeriesConfig, SeriesSampling } from './types'; import type { ThemeConfig } from '../themes/types'; export type ResolvedGridConfig = Readonly>; export type ResolvedLineStyleConfig = Readonly> & { readonly color: string; }>; export type ResolvedAreaStyleConfig = Readonly> & { readonly color: string; }>; /** * Resolved grid lines direction configuration with all defaults applied. */ export type ResolvedGridLinesDirectionConfig = Readonly<{ readonly show: boolean; readonly count: number; readonly color: string; }>; /** * Resolved grid lines configuration with all defaults and color resolution applied. */ export type ResolvedGridLinesConfig = Readonly<{ readonly show: boolean; readonly color: string; readonly opacity: number; readonly horizontal: ResolvedGridLinesDirectionConfig; readonly vertical: ResolvedGridLinesDirectionConfig; }>; export type RawBounds = Readonly<{ xMin: number; xMax: number; yMin: number; yMax: number; }>; export type ResolvedLineSeriesConfig = Readonly & { readonly connectNulls: boolean; readonly color: string; readonly lineStyle: ResolvedLineStyleConfig; readonly areaStyle?: ResolvedAreaStyleConfig; readonly sampling: SeriesSampling; readonly samplingThreshold: number; /** * Original (unsampled) series data. * * Used at runtime for zoom-aware re-sampling so we can increase detail when zoomed-in without * losing outliers or permanently discarding points. */ readonly rawData: Readonly; readonly data: Readonly; /** * Bounds computed from the original (unsampled) data. Used for axis auto-bounds so sampling * cannot clip outliers. */ readonly rawBounds?: RawBounds; }>; export type ResolvedAreaSeriesConfig = Readonly & { readonly connectNulls: boolean; readonly color: string; readonly areaStyle: ResolvedAreaStyleConfig; readonly sampling: SeriesSampling; readonly samplingThreshold: number; /** Original (unsampled) series data (see `ResolvedLineSeriesConfig.rawData`). */ readonly rawData: Readonly; readonly data: Readonly; /** * Bounds computed from the original (unsampled) data. Used for axis auto-bounds so sampling * cannot clip outliers. */ readonly rawBounds?: RawBounds; }>; export type ResolvedBarSeriesConfig = Readonly & { readonly color: string; readonly sampling: SeriesSampling; readonly samplingThreshold: number; /** Original (unsampled) series data (see `ResolvedLineSeriesConfig.rawData`). */ readonly rawData: Readonly; readonly data: Readonly; /** * Bounds computed from the original (unsampled) data. Used for axis auto-bounds so sampling * cannot clip outliers. */ readonly rawBounds?: RawBounds; }>; export type ResolvedScatterSeriesConfig = Readonly & { readonly color: string; readonly sampling: SeriesSampling; readonly samplingThreshold: number; readonly mode: NonNullable; readonly binSize: number; readonly densityColormap: NonNullable; readonly densityNormalization: NonNullable; /** Original (unsampled) series data (see `ResolvedLineSeriesConfig.rawData`). */ readonly rawData: Readonly; readonly data: Readonly; /** * Bounds computed from the original (unsampled) data. Used for axis auto-bounds so sampling * cannot clip outliers. */ readonly rawBounds?: RawBounds; }>; export type ResolvedPieDataItem = Readonly & { readonly color: string; readonly visible: boolean; }>; export type ResolvedPieSeriesConfig = Readonly & { readonly color: string; readonly data: ReadonlyArray; }>; export type ResolvedCandlestickItemStyleConfig = Readonly>; export type ResolvedCandlestickSeriesConfig = Readonly & { readonly color: string; readonly style: CandlestickStyle; readonly itemStyle: ResolvedCandlestickItemStyleConfig; readonly barWidth: number | string; readonly barMinWidth: number; readonly barMaxWidth: number; readonly sampling: 'none' | 'ohlc'; readonly samplingThreshold: number; /** Original (unsampled) series data. */ readonly rawData: Readonly; readonly data: Readonly; /** * Bounds computed from the original (unsampled) data. Used for axis auto-bounds so sampling * cannot clip outliers. */ readonly rawBounds?: RawBounds; }>; export type ResolvedSeriesConfig = ResolvedLineSeriesConfig | ResolvedAreaSeriesConfig | ResolvedBarSeriesConfig | ResolvedScatterSeriesConfig | ResolvedPieSeriesConfig | ResolvedCandlestickSeriesConfig; export interface ResolvedChartGPUOptions extends Omit { readonly grid: ResolvedGridConfig; readonly gridLines: ResolvedGridLinesConfig; readonly xAxis: AxisConfig; readonly yAxis: AxisConfig; readonly autoScroll: boolean; readonly theme: ThemeConfig; readonly palette: ReadonlyArray; readonly series: ReadonlyArray; readonly annotations?: ReadonlyArray; readonly legend?: import('./types').LegendConfig; } export declare function resolveOptions(userOptions?: ChartGPUOptions): ResolvedChartGPUOptions; /** * Resolves chart options with slider bottom-space reservation. * * This function wraps `resolveOptions()` and applies additional grid bottom spacing * when a slider-type dataZoom is configured. The reservation ensures x-axis labels * and ticks are visible above the slider overlay. * * **Usage**: Use this function instead of `resolveOptions()` when creating charts * to ensure consistent slider layout. * * @param userOptions - User-provided chart options * @returns Resolved options with slider bottom-space applied if needed */ export declare function resolveOptionsForChart(userOptions?: ChartGPUOptions): ResolvedChartGPUOptions; export declare const OptionResolver: { readonly resolve: typeof resolveOptions; }; //# sourceMappingURL=OptionResolver.d.ts.map