export interface LodBand { maxDistance: number; interval: number; } export interface LodSchedulerConfig { bands: readonly LodBand[]; beyondInterval?: number | null; stagger?: boolean; } /** Plain JSON state of a {@link LodScheduler}: each id's accumulated seconds. */ export interface LodSchedulerState { buckets: Record; } export interface LodScheduler { bandIndex(distance: number): number; step(id: string, distance: number, dtSeconds: number): number; remove(id: string): void; clear(): void; size(): number; snapshot(): LodSchedulerState; restore(next: LodSchedulerState): void; } export declare function createLodScheduler(config: LodSchedulerConfig): LodScheduler;