import { ObservableValue } from '@furystack/utils';
export declare const ScreenSizes: readonly ["xs", "sm", "md", "lg", "xl"];
export type ScreenSize = (typeof ScreenSizes)[number];
export type Breakpoint = {
    name: ScreenSize;
    minSize: number;
    maxSize?: number;
};
/**
 * Service for handling screen size changes
 */
export declare class ScreenService implements Disposable {
    private getOrientation;
    /**
     * The definitions of the breakpoints
     */
    readonly breakpoints: {
        [K in ScreenSize]: {
            minSize: number;
        };
    };
    [Symbol.dispose](): void;
    /**
     * Observers for the current screen size. Will refresh on resize
     */
    readonly screenSize: {
        atLeast: {
            [K in ScreenSize]: ObservableValue<boolean>;
        };
    };
    private screenSizeAtLeast;
    /**
     * Observable value for tracking the screen orientation
     */
    orientation: ObservableValue<"landscape" | "portrait">;
    private onResizeListener;
    private refreshValues;
    constructor();
}
//# sourceMappingURL=screen-service.d.ts.map