import type { Surface, SurfaceOptions, WeatherConfig, WeatherEventName } from '../types.js'; export declare class SurfaceRegistry { private root; private config; private emit; private shed; private onInvalidate?; readonly surfaces: Surface[]; private registered; private excluded; private dirty; private observer; private resizeObserver; private nextId; private transforms; private scrollOffsets; private positionModes; private scrollChains; private lastTime; private lastSurfaceEvents; private lastScan; private occlusionCursor; private lastOcclusion; private clipsDirty; geometryScanTime: number; constructor(root: HTMLElement, config: () => WeatherConfig, emit: (name: WeatherEventName, data: unknown) => void, shed: (surface: Surface, reason?: 'removed' | 'resize') => void, onInvalidate?: (() => void) | undefined); start(): void; refreshObservers(): void; invalidate(): void; invalidateGeometry(): void; register(element: Element, options?: SurfaceOptions): () => void; unregister(element: Element): void; update(time: number, physicalMotion?: boolean): void; private resizeProfile; private scan; private updateOcclusion; private packing; private cacheScrollChain; private scrollPosition; private readOptions; private measure; private clips; private paintOrder; destroy(): void; } //# sourceMappingURL=SurfaceRegistry.d.ts.map