import { WindowSize } from './WindowSizeProvider';
export declare class ResponsiveSized {
    /**
     * Make a responsive size
     * @param small size for phone sized screen 0 - 599 dp
     * @param mediumCompact size for tablet sized screen 600 - 904 dp
     * @param mediumRegular [optional] size for tablet sized screen 905 - 1239 dp
     * @param large [optional] size for laptop sized screen 1240 - 1439 dp
     * @param extraLarge [optional] size for desktop sized screen 1440 - 1919 dp
     * @param ultraLarge [optional] size for 27inch+ monitors 1920+ dp
     * @returns
     */
    constructor(small: number, mediumCompact: number, mediumRegular?: number, large?: number, extraLarge?: number, ultraLarge?: number);
    /**
     * Get the size based on app window size.
     * @param windowSize window size, if not defaults to "medium"
     * @returns value for the given window size.
     */
    value(windowSize?: WindowSize): number;
    /**
     * Get the size based on app window size.
     * @param windowSize window size, if not defaults to "medium"
     * @returns value for the given window size in px ex. "16px".
     */
    valuePx(windowSize?: WindowSize): string;
    /**
     * Get the size based on app window size.
     * @param windowSize window size, if not defaults to "medium"
     * @returns value for the given window size in percentage ex. "16%".
     */
    valuePercentage(windowSize?: WindowSize): string;
    /**
     * Adds the given size `obj` to `this` size and returns a new object (i.e `this + obj`),
     * @param obj given size
     * @returns new responsive sized object.
     */
    add(obj: ResponsiveSized): ResponsiveSized;
    /**
     * Subtracts the given size `obj` from `this` size and returns a new object (i.e `this - obj`),
     * @param obj given size
     * @returns new responsive sized object.
     */
    subtract(obj: ResponsiveSized): ResponsiveSized;
    private _size;
}
/**
 * Checks if the current window size is mobile or tablet (compact)
 * Used for responsive layout decisions
 * @param windowSize current window size
 * @returns true if windowSize is "small" or "medium-compact"
 */
export declare const isMobileOrTabletView: (windowSize: WindowSize) => boolean;
/** Phone portrait / narrow width only (`0–599` dp). Tablet and up use desktop layouts. */
export declare const isMobilePhoneScreen: (windowSize: WindowSize) => boolean;
export default ResponsiveSized;
