import type { Sides } from '../plot/core/layout'; import type { Vec2 } from '../math'; import type { AxisConfig } from '../plot/core/types'; interface SyncedYAxesConfig { default_axes: () => AxisConfig[]; sources: () => unknown[]; shared_range: () => Vec2 | undefined; sync_zoom: () => boolean; linked_count?: () => number; } export declare function create_synced_y_axes(config: SyncedYAxesConfig): { y_axes: AxisConfig[]; }; export declare function shared_resolved_padding_floor(): { readonly value: Sides; raise(resolved: Required | undefined): void; }; interface BandsDosSyncInputs { band_structs: () => unknown; doses: () => unknown; bands_y_axis: () => AxisConfig | undefined; dos_y_axis: () => AxisConfig | undefined; bands_padding: () => Sides | undefined; dos_padding: () => Sides | undefined; side_by_side: () => boolean; shared_axis?: () => boolean; sync_zoom: () => boolean; base_padding: Sides; } export declare function create_bands_dos_sync(inputs: BandsDosSyncInputs): { readonly shared_range: Vec2 | undefined; readonly fermi_level: number | undefined; readonly y_axes: AxisConfig[]; readonly shared_padding: Sides; raise_padding: (resolved: Required | undefined) => void; }; export {};