import type { AxisConfig, AxisLoadError, DataLoaderFn } from './types'; export declare const AXIS_DEFAULTS: { format: string; scale_type: "linear"; ticks: number; label_shift: { x: number; y: number; }; tick_label: { shift: { x: number; y: number; }; inside: boolean; }; range: [number | null, number | null]; }; export declare const X2_AXIS_DEFAULTS: { label_shift: { x: number; y: number; }; format: string; scale_type: "linear"; ticks: number; tick_label: { shift: { x: number; y: number; }; inside: boolean; }; range: [number | null, number | null]; }; type AxisType = `x` | `x2` | `y` | `y2`; export declare const category_tick_labels: (categories: readonly string[], user_ticks: AxisConfig[`ticks`]) => AxisConfig[`ticks`]; type LoadableSeries = { id?: string | number; visible?: boolean; }; export declare function merge_series_state(old_series: T[], new_series: T[]): T[]; export interface AxisChangeState { axes: Record AxisConfig; set: (config: AxisConfig) => void; }>; series: { get: () => T[]; set: (series: T[]) => void; }; loading: { get: () => AxisType | null; set: (axis: AxisType | null) => void; }; } export declare function create_axis_loader(state: AxisChangeState, get_props: () => { data_loader?: DataLoaderFn, T>; on_axis_change?: (axis: AxisType, key: string, new_series: T[]) => void; on_error?: (error: AxisLoadError) => void; }): { handle_axis_change: (axis: AxisType, key: string) => Promise; try_auto_load: () => void; }; export {};