import { Breakpoint, BreakpointConfig } from './types.js'; declare class ScreenSizeServiceImpl { private _listeners; private _currentBreakpoint; private _width; private _breakpoints; constructor(breakpoints?: BreakpointConfig); /** Current breakpoint name */ get breakpoint(): Breakpoint; /** Current viewport width in pixels */ get width(): number; /** True if viewport is extra small or small (< 768px) */ get isMobile(): boolean; /** True if viewport is medium (768px - 1023px) */ get isTablet(): boolean; /** True if viewport is large or extra large (>= 1024px) */ get isDesktop(): boolean; /** Breakpoint order for fallback resolution */ get breakpointOrder(): readonly Breakpoint[]; /** * Subscribe to breakpoint changes. * Callback is called when the breakpoint changes (not on every resize). * * @param callback - Function to call when breakpoint changes * @returns Unsubscribe function */ subscribe(callback: () => void): () => void; /** * Check if the current breakpoint matches the given breakpoint. */ is(breakpoint: Breakpoint): boolean; /** * Check if the current breakpoint is at least the given breakpoint. * E.g., isAtLeast('md') returns true for md, lg, xl. */ isAtLeast(breakpoint: Breakpoint): boolean; /** * Check if the current breakpoint is at most the given breakpoint. * E.g., isAtMost('md') returns true for xs, sm, md. */ isAtMost(breakpoint: Breakpoint): boolean; private _handleResize; private _updateSize; private _notifyListeners; } /** Singleton instance of the screen size service */ export declare const screenSizeService: ScreenSizeServiceImpl; export {}; //# sourceMappingURL=ScreenSizeService.d.ts.map