type CanvasObserverProps = {
canvas?: HTMLCanvasElement;
trackPosition: boolean;
onResize: (entries: ResizeObserverEntry[]) => void;
onIntersection: (entries: IntersectionObserverEntry[]) => void;
onDevicePixelRatioChange: () => void;
onPositionChange: () => void;
};
/**
* Internal DOM observer orchestration for HTML canvas surfaces.
*
* CanvasSurface owns the tracked state and device callback dispatch. This helper only manages
* browser observers, timers, and polling loops, then reports events through callbacks.
*/
export declare class CanvasObserver {
readonly props: CanvasObserverProps;
private _resizeObserver;
private _intersectionObserver;
private _observeDevicePixelRatioTimeout;
private _observeDevicePixelRatioMediaQuery;
private readonly _handleDevicePixelRatioChange;
private _trackPositionInterval;
private _started;
get started(): boolean;
constructor(props: CanvasObserverProps);
start(): void;
stop(): void;
private _refreshDevicePixelRatio;
private _trackPosition;
}
export {};
//# sourceMappingURL=canvas-observer.d.ts.map