import { Observable } from '@legendapp/state'; import { DeepMaybeObservable } from '@usels/core'; import { ConfigurableWindow } from '../../shared/configurable.mjs'; interface UseWindowSizeOptions extends ConfigurableWindow { initialWidth?: number; initialHeight?: number; listenOrientation?: boolean; includeScrollbar?: boolean; type?: "inner" | "outer" | "visual"; } type UseWindowSizeReturn = Observable<{ width: number; height: number; }>; /** * Framework-agnostic reactive window size tracker. * * Tracks the browser window dimensions and updates on resize and orientation * change. Supports `inner`, `outer`, and `visual` viewport modes. * Must be called inside a `useScope` factory. */ declare function createWindowSize(options?: DeepMaybeObservable): UseWindowSizeReturn; export { type UseWindowSizeOptions, type UseWindowSizeReturn, createWindowSize };