import { DeepMaybeObservable, Supportable, ReadonlyObservable } from '@usels/core'; import { ConfigurableWindow } from '../../shared/configurable.mjs'; import '@legendapp/state'; type UseDevicePixelRatioOptions = ConfigurableWindow; interface UseDevicePixelRatioReturn extends Supportable { /** Current device pixel ratio */ pixelRatio$: ReadonlyObservable; } /** * Framework-agnostic reactive `window.devicePixelRatio` tracker. * * Uses `matchMedia('(resolution: Ndppx)')` and re-registers the listener * whenever the DPR changes so callers always see the latest value. */ declare function createDevicePixelRatio(options?: DeepMaybeObservable): UseDevicePixelRatioReturn; export { type UseDevicePixelRatioOptions, type UseDevicePixelRatioReturn, createDevicePixelRatio };