import type { AxisConfig, AxisLoadError, BarSeries, DataLoaderFn, DataSeries } 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]; }; type AxisType = `x` | `x2` | `y` | `y2`; export declare function merge_series_state(old_series: T[], new_series: T[]): T[]; export interface AxisChangeState { get_axis: (axis: AxisType) => AxisConfig; set_axis: (axis: AxisType, config: AxisConfig) => void; get_series: () => T[]; set_series: (series: T[]) => void; get_loading: () => AxisType | null; set_loading: (axis: AxisType | null) => void; } export declare const create_axis_change_handler: (state: AxisChangeState, data_loader: DataLoaderFn, T> | undefined, on_axis_change?: (axis: AxisType, key: string, new_series: T[]) => void, on_error?: (error: AxisLoadError) => void) => ((axis: AxisType, key: string) => Promise); 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 declare const AXIS_LABEL_CONTAINER: { readonly width: 200; readonly height: 24; readonly x_offset: 100; readonly y_offset: 12; }; export {};