import type { DefaultedXAxis, DefaultedYAxis } from "../../../../models/axis.js"; import { type DomainDefinition } from "./domain.js"; interface ComputeAxisAutoSizeOptions { axis: DefaultedXAxis | DefaultedYAxis; direction: 'x' | 'y'; /** * The niced domain and tick number for the axis. * These reflect the actual displayed domain (after domainLimit processing), * so tick labels measured from them match what the chart renders. */ domain?: DomainDefinition; } /** * Result of auto-size computation for axes. */ export interface AxisAutoSizeResult { size: number; /** * Computed tick sizes for each group level. * These are cumulative - each group's tick extends further than the previous. * The renderer should use these instead of the formula-based tick sizes. */ groupTickSizes?: number[]; } /** * Computes the auto-size dimension for an axis based on tick label measurements. * Returns undefined if measurement is not available (SSR or not hydrated). * * For regular axes, returns just a number (the size). * For grouped axes, returns an object with size and computed group tick sizes. */ export declare function computeAxisAutoSize(options: ComputeAxisAutoSizeOptions): AxisAutoSizeResult | undefined; export {};